Motor control device

ABSTRACT

A motor control device includes an estimator for estimating a rotor position of a motor having a salient pole by using a value corresponding to a q-axis inductance of the motor as an operation parameter where an estimated axes for the control corresponding to d-q axes are γ-δ axes, and a controller for controlling the motor based on the estimated rotor position. The estimator generates a deviation between a d-axis and a γ-axis by performing the estimation of the rotor position based on a value between a real q-axis inductance and a real d-axis inductance of the motor adopted as the operation parameter. The controller controls the motor so that a γ-axis component of a motor current supplied to the motor is maintained to be a predetermined value of zero or close to zero regardless of a value of a δ-axis component of the motor current.

This nonprovisional application claims priority under 35 U.S.C. §119(a) on Patent Application No. 2005-246305 filed in Japan on Aug. 26, 2005, Patent Application No. 2006-043398 filed in Japan on Feb. 21, 2006, and Patent Application No. 2006-177646 filed in Japan on June 28, 2006, the entire contents of which are hereby incorporated by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a motor control device for controlling an operation of a motor. The present invention also relates to a motor drive system including this motor control device.

2. Description of Related Art

Conventionally, a motor control device without a rotor position sensor (a position sensor-less motor control device) is developed. This a motor control device estimates a rotor position in a motor without a rotor position sensor and controls the motor base on the estimated rotor position. FIG. 21 shows an example of a block diagram for a motor control device 103 of this type. In the structure shown in FIG. 21, an estimated axis for the control corresponding to a d-axis in a vector control of a motor is a γ-axis, while an estimated axis for the control corresponding to a q-axis is a δ-axis. FIG. 23 shows a relationship among the d-axis, the q-axis, the γ-axis and the δ-axis. The reference numeral E_(ex) in FIG. 23 represents a voltage vector that is usually called an extension induction voltage (an extended electromotive force).

A current detector 11 detects U-phase current i_(u) and V-phase current i_(v) of motor current supplied from a PWM inverter 2 to a motor 1 that is a salient pole machine. A coordinate converter 12 converts the U-phase current i_(u) and the V-phase current i_(v) into γ-axis current i_(γ) and δ-axis current i_(δ). A position/speed estimator 120 (hereinafter referred to as “estimator 120” simply) estimates and outputs an estimated rotor position θ_(e) and an estimated motor speed ω_(e).

A subtracter 19 subtracts the estimated motor speed ω_(e) given by the estimator 120 from a specified motor speed value ω* and outputs the result. A speed controller 17 generates a specified δ-axis current value i_(δ)* to be followed by the δ-axis current i_(δ) based on the subtraction result (ω*−ω_(e)) from the subtracter 19. A magnetic flux controller 116 outputs a specified γ-axis current value i_(γ)* to be followed by the γ-axis current i_(γ) based on the specified δ-axis current value i_(δ)* and the like. A current controller 15 outputs a specified γ-axis voltage value v_(γ)* and a specified δ-axis voltage value v_(δ)* so that both a current error (i_(γ)*−i_(γ)) and a current error (i_(δ)*−i_(δ)) given by the subtracters 13 and 14 converge to zero.

A coordinate converter 18 performs inverse conversion of the specified γ-axis voltage value v_(γ)* and the specified δ-axis voltage value v_(δ)* based on the estimated rotor position θ_(e) given by the estimator 120 and generates specified three-phase voltage values including a specified U-phase voltage value v_(u)*, a specified V-phase voltage value v_(v)* and specified W-phase voltage value v_(w)*, which are supplied to the PWM inverter 2. The PWM inverter 2 generates a signal modulated by pulse width based on the specified three-phase voltage values (v_(u)*, v_(v)* and v_(w)*) and supplies the motor 1 with motor current corresponding to the specified three-phase voltage values for driving the motor 1.

FIG. 22 shows an inside structure of the estimator 120. The estimator 120 includes an axial error estimator 130, a proportional-plus-integral calculator 131 and an integrator 132. The axial error estimator 130 estimates an axial error Δθ between the d-axis and the γ-axis. The axial error estimator 130 calculates the axial error Δθ by using the equation (1) below, for example. Here, L_(d) and L_(q) represent a d-axis inductance and a q-axis inductance of the motor 1, respectively, and R_(a) represents motor resistance of the motor 1. Furthermore, s is the Laplace operator. There are proposed various methods for estimating a rotor position. In many cases, a value of q-axis inductance of a motor is used as an operation parameter in a calculation equation for estimation as the equation (1) below.

$\quad\begin{matrix} \begin{matrix} {{\Delta\mspace{11mu}\theta} = {\tan^{- 1}\left( \frac{- E_{{ex}\mspace{11mu}\gamma}}{E_{{ex}\mspace{11mu}\delta}} \right)}} \\ {= {\tan^{- 1}\left( \frac{- \left( {v_{\gamma}^{*} - {\left( {R_{a} + {L_{d}s}} \right)i_{\gamma}} + {\omega_{e}L_{q}i_{\delta}}} \right)}{v_{\delta}^{*} - {\left( {R_{a} + {L_{d}s}} \right)i_{\delta}} + {\omega_{e}L_{q}i_{\gamma}}} \right)}} \end{matrix} & (1) \end{matrix}$

The above equation (1) is a calculation equation for calculating the axial error Δθ described in Japanese patent No. 3411878 (hereinafter referred to as a first patent document). Note that a difference between the d-axis and the γ-axis (dc-axis) with reference to the d-axis is defined as Δθ in the first patent document while a difference between the d-axis and the γ-axis (dc-axis) with reference to the γ-axis is defined as Δθ, so the sign (negative or positive) is opposite between the calculation equation of the axial error Δθ in the first patent document and the equation (1). Furthermore, in the equation (1), E_(exγ) and E_(exδ) represent a γ-axis component and a δ-axis component of an extension induction voltage (an extended electromotive force) E_(ex), respectively.

The proportional-plus-integral calculator 131 performs a proportional plus integral control in cooperation with each portion constituting the motor control device 103 for realizing a PLL (Phase Locked Loop), and it calculates the estimated motor speed ω_(e) so that the axial error Δθ calculated by the axial error estimator 130 converges to zero. The integrator 132 integrates the estimated motor speed ω_(e) outputted by the proportional-plus-integral calculator 131 and calculates the estimated rotor position θ_(e). The estimated motor speed ω_(e) outputted by the proportional-plus-integral calculator 131 and the estimated rotor position θ_(e) outputted by the integrator 132 are imparted as output values of the estimator 120 to each part of the motor control device 103 that needs the values.

Since the motor control device 103 is structured as described above, the axial error Δθ between the d-axis and the γ-axis converges to zero so that a stable motor control can be realized. Note that if the axial error Δθ is maintained at zero, the d-axis current i_(d) follows the specified γ-axis current value i_(γ)* while the q-axis current i_(q) follows the specified δ-axis current value i_(δ)*.

The calculation equation for calculating the d-axis current i_(d) for performing a maximum torque control utilizing a reluctance torque is known widely. When a maximum torque control is performed by the motor control device 103 having the structure described above, the magnetic flux controller 116 calculates the specified γ-axis current value i_(γ)* based on the equation (2) below. Here, Φ_(a) represents armature flux linkage of the permanent magnet.

$\begin{matrix} {i_{\gamma}^{*} = {\frac{\Phi_{a}}{2\left( {L_{q} - L_{d}} \right)} - \sqrt{\frac{\Phi_{a}^{2}}{4\left( {L_{q} - L_{d}} \right)^{2}} + {i_{\delta}^{*}}^{2}}}} & (2) \end{matrix}$

In addition, JP-A-2003-309992 (hereinafter referred to as a second patent document) discloses a position sensor-less control method, in which a phase of motor current is adjusted so that a value of motor current becomes a minimum value.

In addition, “Position and Speed Sensorless Control for IPMSM Based on Estimation of Position Error”, Sigeo Morimoto et al, T.IEE Japan, Vol. 122-D, No. 7, 2002, pp. 722-729 (hereinafter referred to as a first non-patent document) discloses a relationship between an error of an operation parameter that is used for estimating a rotor position and a position estimation error (the axial error). In addition, Japanese patent No. 3312472 (hereinafter referred to as a third patent document), JP-A-2003-219682 (hereinafter referred to as a fourth patent document), JP-A-2002-51597 (hereinafter referred to as a fifth patent document) and JP-A-2003-153582 (hereinafter referred to as a sixth patent document) disclose motor control techniques utilizing injection of high frequency voltage or high frequency current. In addition, JP-A-H10-94298 discloses a technique concerning switching between a low speed sensor-less control and a high speed sensor-less control.

In order to realize the maximum torque control by using the above equation (2), it is required as a precondition that the axial error Δθ is maintained at zero. On the other hand, the calculation of the axial error Δθ using the above equation (1) needs a value of the q-axis inductance L_(q) as an operation parameter (a motor parameter). Therefore, in a conventional method, a real value of the q-axis inductance L_(q) of the motor 1 is studied for performing the maximum torque control so that the real value of the q-axis inductance L_(q) is used as it is for obtaining the axial error Δθ (and therefore the estimated rotor position θ_(e)).

In addition, in order to perform a high efficiency operation by the maximum torque control or the like utilizing the reluctance torque, it is necessary to supply the motor with the d-axis current i_(d) corresponding to the q-axis current i_(q) as understood from the above equation (2). Therefore, the specified γ-axis current value i_(γ)* must be calculated sequentially in order to perform the high efficiency operation.

In addition, the calculation equation for calculating the specified γ-axis current value i_(γ)* for performing the maximum torque control or the like includes a plurality of motor parameters whose true values are not known. Therefore, if there are errors between the motor parameters (the operation parameters) that are used for calculating the specified γ-axis current value i_(γ)* and true motor parameters, a desired motor control cannot be performed. For this reason, it is essential to perform an adjustment for decreasing the errors as much as possible. However, the adjustment for the plurality of motor parameters is not easy, and a lot of time is necessary for the adjustment.

When the maximum torque control is performed in the conventional motor control device as described above, it is the first thing to adjust the parameters for maintaining the axial error Δθ at zero (for estimating the rotor position).

Secondly, it is also required to adjust the parameters that are used in the calculation equation (2) for calculating the specified γ-axis current value i_(γ)*.

Thirdly, it is necessary to perform the calculation of the specified γ-axis current value i_(γ)* sequentially that requires a complicated calculation.

The parameter adjustment for the rotor position estimation and the parameter adjustment for calculating the specified γ-axis current value i_(γ)* are performed independently, so more time for the adjustments is necessary. In addition, the error in the adjustment of the parameter for estimating the rotor position and the error in the adjustment of the parameter for calculating the specified γ-axis current value i_(γ)* are affected by each other so that the adjustments become more difficult. In addition, when the adjustments become difficult, optimization of the parameters also becomes difficult resulting in difficulty in realizing an optimal drive of the motor.

Note that the techniques described in the first patent document, the second patent document and the first non-patent document which are described above cannot solve the problem described above. Furthermore, the second patent document utilizes an approximation of Δθ≈0, so estimation accuracy becomes lower as a value of Δθ increases.

SUMMARY OF THE INVENTION

An object of the present invention is to provide a motor control device that can contribute to facilitation of adjustment of an operation parameter for obtaining a maximum torque control or the like, and/or reduction of quantity of calculations. Furthermore, it is another object to provide a motor drive system having the motor control device.

A first motor control device according to the present invention includes an estimator for estimating a rotor position of a motor having a salient pole by using a value corresponding to the q-axis inductance of the motor as an operation parameter, and a controller for controlling the motor based on the estimated rotor position, wherein the estimator generates a deviation between the d-axis and the γ-axis by performing the estimation of the rotor position based on a value between a real q-axis inductance and a real d-axis inductance of the motor adopted as the operation parameter, where the d-axis is an axis parallel to a magnetic flux generated by a permanent magnet that constitutes the rotor, the γ-axis is an estimated axis for the control corresponding to the d-axis, and the q-axis is an axis leading the d-axis by 90 degrees in electrical angle.

Specifically, for example, the controller controls the motor so that a γ-axis component of a motor current supplied to the motor is maintained to be a predetermined value of zero or close to zero.

As described above, when a rotor position is estimated, not the real q-axis inductance but a value between the real q-axis inductance and the real d-axis inductance is used as the operation parameter corresponding to the q-axis inductance so that a deviation is generated between the d-axis and the γ-axis purposely. In order to perform a maximum torque control or the like, it is necessary to supply the motor with q-axis current corresponding to the d-axis current. Since the above-mentioned deviation is generated, the d-axis current corresponding to the q-axis current flows actually even though the γ-axis component of the motor current is maintained to a predetermined value of zero or close to zero.

In other words, according to the structure described above, it is not required to calculate sequentially a value of the γ-axis component of the necessary motor current. It is sufficient to set the γ-axis component to a predetermined value of zero or close to zero for realizing the maximum torque control or the like required the d-axis current.

In addition, it was necessary in the conventional structure shown in FIGS. 21 and 22 to adjust an operation parameter for estimating a rotor position and an operation parameter for performing the maximum torque control. According to the structure described above, however, the adjustment of the operation parameters for performing the maximum torque control and the like can be integrated to the adjustment of the operation parameter corresponding to the q-axis inductance. In other words, the adjustment of the operation parameters for realizing the maximum torque control and the like can be facilitated, so that adjustment time can be reduced. In addition, since the sequential calculation of a value of the γ-axis component of the motor current becomes needless, quantity of calculation for the maximum torque control and the like can be reduced.

Specifically, for example, the estimator also estimates a rotation speed of the rotor corresponding to the estimation of the rotor position, and the controller includes a specified current calculator that generates a specified γ-axis current value and a specified δ-axis current value to be followed by the γ-axis component and a δ-axis component of the motor current so that the estimated rotation speed follows a specified motor speed value given externally, where the δ-axis is an axis leading the γ-axis by 90 degrees in electrical angle. Further, the specified current calculator maintains the specified γ-axis current value at the predetermined value regardless of a value of the specified δ-axis current value, so that the γ-axis component of the motor current is maintained at the predetermined value regardless of a value of the δ-axis component of the motor current.

In addition, for example, a value of the operation parameter is set to a value such that the motor current becomes a minimum value in the state where the γ-axis component of the motor current is the predetermined value and the motor is supplied with a predetermined load torque.

Thus, a maximum torque control or a control similar to the maximum torque control can be realized.

In addition, for example, a value of the operation parameter is set to a value such that a loss of the motor becomes a minimum value in the state where the γ-axis component of the motor current is the predetermined value and the motor is under a predetermined load condition.

Thus, a maximum efficiency control or a control similar to the maximum efficiency control can be realized.

In addition, for example, the estimator performs the estimation of the rotor position by using a q-axis inductance L as the operation parameter that satisfies the following expression L_(d)≦L<(L_(d)+L_(q))/2, where L_(q) and L_(d) are respectively the real q-axis inductance and the real d-axis inductance of the motor.

In addition, for example, the operation parameter may have a fixed value.

Thus, an adjustment of the operation parameter becomes easier.

In addition, a second motor control device according to the present invention controls the motor by decomposing a motor current that flows in the motor into a qm-axis component parallel to a qm-axis and a dm-axis component parallel to a dm-axis, where the qm-axis is a rotation axis having the same direction as a current vector for realizing a maximum torque control or a rotation axis leading said rotation axis in phase, and the dm-axis is a rotation axis that is orthogonal to the qm-axis.

According to the structure described above too, facilitation of an adjustment of the operation parameter and the like are expected.

More specifically, the second motor control device includes an estimator for estimating a rotor position of the motor and a controller for controlling the motor based on the estimated rotor position. The controller controls the motor so that a γ-axis and a δ-axis follow the dm-axis and the qm-axis, respectively, where the d-axis is an axis parallel to a magnetic flux generated by a permanent magnet that constitutes a rotor, the γ-axis is an estimated axis for the control corresponding to the d-axis, and the δ-axis is an axis leading the γ-axis by 90 degrees in electrical angle.

In addition, for example, in the second motor control device, the controller controls the motor so that a γ-axis component of the motor current is maintained to be a predetermined value of zero or close to zero.

Thus, a sequential calculation of a value of the γ-axis component of the motor current becomes needless, so quantity of calculation for the maximum torque control or the like can be reduced.

In addition, for example, in the second motor control device, the estimator estimates the rotor position by using an axial error between the qm-axis and the δ-axis.

In addition, for example, in the second motor control device, the estimator estimates the rotor position by using an induction voltage vector on the qm-axis in the case where a vector of an induction voltage on a q-axis generated in the motor is decomposed into the induction voltage vector on the qm-axis and an induction voltage vector on the dm-axis, where the q-axis is an axis leading the d-axis by 90 degrees in electrical angle.

Further, for example, in the second motor control device, the estimator estimates the rotor position by using a γ-axis component and a δ-axis component of the induction voltage vector on the qm-axis or by using the γ-axis component of the induction voltage vector on the qm-axis.

In addition, for example, in the second motor control device, the estimator estimates the rotor position by using a flux linkage vector on the dm-axis in the case where a vector of a flux linkage on the d-axis of the motor is decomposed into a flux linkage vector on the qm-axis and the flux linkage vector on the dm-axis.

Further, for example, in the second motor control device, the estimator estimates the rotor position by using a γ-axis component and a δ-axis component of the flux linkage vector on the dm-axis or by using the δ-axis component of the flux linkage vector on the dm-axis.

In addition, for example, in the second motor control device, the controller includes a coordinate converter for converting a predetermined fixed axis component of the motor current into a γ-axis component and a δ-axis component by using the rotor position estimated by the estimator, the estimator estimates a dm-axis component and a qm-axis component of the motor current based on the γ-axis component and the δ-axis component of the motor current obtained by the coordinate converter, the rotor position is estimated by using an error current between the dm-axis component of the motor current obtained by the estimation and the γ-axis component of the motor current obtained by the coordinate converter and also using an error current between the qm-axis component of the motor current obtained by the estimation and the δ-axis component of the motor current obtained by the coordinate converter.

In addition, for example, the second motor control device further includes a superposer for adding a superposed voltage to a drive voltage for driving the motor, the superposed voltage having a frequency different from the drive voltage. The estimator is capable of performing a first estimation process for estimating the rotor position based on a superposed current that flows in the motor corresponding to the superposed voltage.

When a superposed voltage such as a high frequency rotation voltage is added so that the rotor position can be estimated based on a superposed current generated by the superposed voltage, an appropriate sensor-less control can be realizes in particular at a low speed rotation or when the rotation is stopped.

Further, for example, in the second motor control device, the estimator is further capable of performing a second estimation process for estimating the rotor position based on a drive current corresponding to the drive voltage included in the motor current, and a estimation process that is performed actually is switched between the first estimation process and the second estimation process in accordance with speed information indicating a rotation speed of the rotor.

Thus, an appropriate sensor-less control can be realized over a wide speed range.

More specifically, the estimator includes a first candidate axial error calculator for calculating an axial error between the qm-axis and the δ-axis as a first candidate axial error based on the superposed current, and a second candidate axial error calculator for calculating an axial error between the qm-axis and the δ-axis as a second candidate axial error based on the drive current. The estimator switches information that is used for estimating the rotor position between the first candidate axial error and the second candidate axial error in accordance with the speed information, so as to switch between the first estimation process and the second estimation process.

More specifically, for example, the estimator includes a first candidate speed calculator for calculating a rotation speed of the rotor as a first candidate speed based on the superposed current, and a second candidate speed calculator for calculating a rotation speed of the rotor as a second candidate speed based on the drive current, and it switches information that is used for estimating the rotor position between the first candidate speed and the second candidate speed in accordance with the speed information so as to switch between the first estimation process and the second estimation process.

More specifically, for example, the estimator includes a first candidate position calculator for calculating a first candidate position as a candidate of the rotor position to be estimated based on the superposed current, and a second candidate position calculator for calculating a second candidate position as a candidate of the rotor position to be estimated based on the drive current, and it switches information that is used for estimating the rotor position between the first candidate position and the second candidate position based on the speed information so as to switch between the first estimation process and the second estimation process.

Further, for example, the estimator switches the estimation process that is performed actually from one of the first and the second estimation processes to the other via an estimation process in which the estimation results of both the estimation processes are considered in accordance with the speed information or an elapsed time from a start of the switching.

Thus, a smooth switching of the estimation process can be realized.

More specifically, for example, a voltage vector locus of the superposed voltage on a rotating coordinate axes describes a figure symmetric about the d-axis.

More specifically, for example, when the estimator estimates the rotor position in the first estimation process, it estimates the rotor position by using at least one-axis component of orthogonal two-axes components forming a vector of the superposed current.

More specifically, for example, the estimator includes a coordinate rotator that performs a coordinate rotation of a vector of the superposed current by a phase difference between the dm-axis and the d-axis, and when it estimates the rotor position in the first estimation process, it estimates an axial error between the qm-axis and the δ-axis by using at least one-axis component of orthogonal two-axes components forming a current vector obtained by the coordinate rotation and then estimates the rotor position by using the axial error.

In addition, a motor drive system according to the present invention includes a motor, an inverter for driving the motor, and a motor control device having any structure described above, which controls the motor by controlling the inverter.

As described above, according to the motor control device and the motor drive system of the present invention, an adjustment of an operation parameter for realizing a maximum torque control or the like can be facilitated. In addition, quantity of calculation can be reduced, too.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing a general structure of a motor drive system according to a first embodiment of the present invention.

FIG. 2 is an analytic model diagram of a motor according to the first embodiment of the present invention.

FIG. 3 is a block diagram showing a structure of the motor drive system shown in FIG. 1.

FIG. 4 is a block diagram showing an inside structure of a position/speed estimator shown in FIG. 3.

FIG. 5 is a graph showing a relationship between a q-axis inductance as an operation parameter and a q-axis current matching the maximum torque control under the condition that a γ-axis current is zero.

FIG. 6 is a graph showing a comparison between an ideal maximum torque control and a control by the motor drive system shown in FIG. 1.

FIG. 7 is a graph showing a relationship between motor current and the q-axis inductance as an operation parameter under the condition that a γ-axis current is zero.

FIG. 8 is a vector diagram showing an operation of a motor shown in FIG. 1.

FIG. 9 is a block diagram showing a variation of a position/speed estimator shown in FIG. 3.

FIG. 10 is a block diagram showing a general structure of a motor drive system according to a second embodiment of the present invention.

FIG. 11 is an analytic model diagram of a motor according to the second embodiment of the present invention.

FIG. 12 is an analytic model diagram of the motor according to the second embodiment of the present invention.

FIG. 13 is a diagram showing an example of a current vector locus of motor current that flows in the motor shown in FIG. 10.

FIG. 14 is a block diagram showing a structure of the motor drive system shown in FIG. 10.

FIG. 15 is a block diagram showing an inside structure of the position/speed estimator shown in FIG. 14.

FIG. 16 is a graph showing a dependence of each inductance on the qm-axis current in the second embodiment of the present invention.

FIG. 17 is a graph showing a comparison between an ideal maximum torque control and the control by the motor drive system shown in FIG. 10.

FIG. 18 is a block diagram showing an example of an inside structure of the axial error estimator shown in FIG. 15.

FIG. 19 is a block diagram showing a structure of a motor drive system according to a third embodiment of the present invention.

FIG. 20 is a block diagram showing a structure of a motor drive system according to a fourth embodiment of the present invention.

FIG. 21 is a block diagram showing a structure of a conventional motor control device.

FIG. 22 is a block diagram showing an inside structure of the position/speed estimator shown in FIG. 21.

FIG. 23 is a vector diagram showing an operation of a motor shown in FIG. 21.

FIG. 24 is a block diagram showing a structure of a motor drive system according to a fifth and a sixth embodiments of the present invention.

FIG. 25 is a diagram showing an example of a voltage vector locus of a superposed voltage generated by a superposed voltage generator shown in FIG. 24.

FIG. 26 is a diagram showing a current vector locus of a superposed current that flows in the motor due to the superposed voltage as shown in FIG. 25.

FIG. 27 is a diagram showing a product of a γ-axis component and a δ-axis component of the superposed current that flows in the motor due to the superposed voltage as shown in FIG. 25 and a direct current component of the product.

FIG. 28 is a diagram showing a product of the γ-axis component and the δ-axis component of the superposed current that flows in the motor due to the superposed voltage as shown in FIG. 25 and a direct current component of the product.

FIG. 29 is a block diagram showing an inside structure of the estimator that can be used as the position/speed estimator shown in FIG. 24.

FIG. 30 is a block diagram showing an inside structure of the axial error estimator shown in FIG. 29.

FIG. 31 is a block diagram showing an inside structure of an axial error calculator shown in FIG. 30.

FIG. 32 is a diagram showing an example of the current vector locus before and after coordinate rotation by a coordinate rotator shown in FIG. 30 (when perfect circle rotation voltage is superposed).

FIG. 33 is a diagram showing an example of the current vector locus before and after coordinate rotation by the coordinate rotator shown in FIG. 30 (when elliptic rotation voltage is superposed).

FIG. 34 is a diagram showing an example of the current vector locus before and after coordinate rotation by the coordinate rotator shown in FIG. 30 (when alternating voltage is superposed).

FIG. 35 is a block diagram showing an inside structure of the position/speed estimator according to the sixth embodiment of the present invention (a first example of the estimator).

FIG. 36 is a diagram showing a function of a switch processor shown in FIG. 35.

FIG. 37 is a diagram showing a weighted average process performed by the switch processor shown in FIG. 35.

FIG. 38 is a diagram showing the weighted average process performed by the switch processor shown in FIG. 35.

FIG. 39 is a block diagram showing an inside structure of the position/speed estimator according to the sixth embodiment of the present invention (a second example of the estimator).

FIG. 40 is a block diagram showing an inside structure of the position/speed estimator according to the sixth embodiment of the present invention (a third example of the estimator).

DESCRIPTION OF THE PREFERRED EMBODIMENTS First Embodiment

Now, embodiments of the present invention will be described in detail. To begin with, a first embodiment of the present invention will be described. FIG. 1 is a block diagram showing a general structure of a motor drive system according to a first embodiment of the present invention. Reference numeral 1 denotes a three-phase permanent magnet synchronous motor (hereinafter referred to as “motor 1” simply) including a rotor (not shown) with a permanent magnet and a stator (not shown) with an armature winding. The motor 1 is a salient pole machine (a motor having a salient pole) such as an interior permanent magnet synchronous motor.

Reference numeral 2 denotes a PWM (Pulse Width Modulation) inverter, which supplies the motor 1 with three-phase alternating voltage consisting of U-phase, V-phase and W-phase in accordance with a rotor position of the motor 1. The voltage supplied to the motor 1 is referred to as a motor voltage (or an armature voltage) V_(a), and current supplied from an inverter 2 to the motor 1 is referred to as a motor current (or an armature current) I_(a).

Reference numeral 3 denotes a motor control device (a position sensor-less motor control device), which estimates a rotor position and the like of the motor 1 based on the motor current I_(a) and supplies the PWM inverter 2 with a signal for driving the motor 1 in a desired rotation speed. This desired rotation speed is imparted from a CPU (Central Processing Unit, not shown) or the like to the motor control device 3 as a specified motor speed value ω*.

FIG. 2 is an analytic model diagram of the motor 1. In the following description, the armature winding means what is provided to the motor 1. FIG. 2 shows armature winding fixed axes of the U-phase, the V-phase and the W-phase. Reference numeral 1 a denotes a permanent magnet that constitutes the rotor of the motor 1. In a rotating coordinate system that rotates at a speed equal to that of a magnetic flux generated by the permanent magnet 1 a, a direction of the magnetic flux generated by the permanent magnet 1 a corresponds to a d-axis while an estimated axis for control corresponding to the d-axis corresponds to a γ-axis. Although not shown, a q-axis is adopted at a 90 degrees leading phase from the d-axis in the electrical angle, while a δ-axis that is the estimated axis is adopted at a 90 degrees leading phase from the γ-axis in the electrical angle. The rotating coordinate system corresponding to the real axis is a coordinate system in which the d-axis and the q-axis are chosen as the coordinate axes, which are called d-q axes. The rotating coordinate system for the control (an estimation rotating coordinate system) is a coordinate system in which the γ-axis and the δ-axis are chosen as coordinate axes, which are called γ-δ axes.

The d-q axes is rotating, and a rotation speed thereof is called a real motor speed ω. The γ-δ axes are also rotating, and a rotation speed thereof is called an estimated motor speed ω_(e). Furthermore, in the rotating d-q axes at a certain moment, a phase of the d-axis is denoted by θ (a real rotor position θ) with reference to the armature winding fixed axis of the U-phase. Similarly, in the rotating γ-δ axes at a certain moment, a phase of the γ-axis is denoted by θ_(e) (an estimated rotor position θ_(e)) with reference to the armature winding fixed axis of the U-phase. Then, an axial error Δθ between the d-axis and the γ-axis (an axial error Δθ between the d-q axes and the γ-δ axes) is expressed in Δθ=θ−θ_(e).

In the following description, a γ-axis component, a δ-axis component, a d-axis component and a q-axis component of the motor voltage V_(a) are represented by γ-axis voltage v_(γ), δ-axis voltage v_(γ), d-axis voltage v_(d) and q-axis voltage v_(q), respectively. A γ-axis component, a δ-axis component, a d-axis component and a q-axis component of the motor current I_(a) are represented by γ-axis current i_(γ), δ-axis current i_(δ), d-axis current i_(d) and q-axis current i_(q), respectively.

Furthermore, in the following description, R_(a) denotes a motor resistance (a resistance of the armature winding of the motor 1). L_(d) and L_(q) denote a d-axis inductance (a d-axis component of an inductance of the armature winding of the motor 1) and a q-axis inductance (a q-axis component of an inductance of the armature winding of the motor 1), respectively. Φ_(a) denotes an armature flux linkage attributable to the permanent magnet 1 a. Note that L_(d), L_(q), R_(a) and Φ_(a) are values that are determined when the motor drive system is manufactured, and the values are used for calculation by the motor control device. Furthermore, s denotes the Laplace operator in the equations that will be shown later.

FIG. 3 is a block diagram of a motor drive system showing an inside structure of the motor control device 3 shown in FIG. 1. The motor control device 3 includes a current detector 11, a coordinate converter 12, a subtracter 13, a subtracter 14, a current controller 15, a magnetic flux controller 16, a speed controller 17, a coordinate converter 18, a subtracter 19 and a position/speed estimator 20 (hereinafter referred to as an “estimator 20” simply). Each portion constituting the motor control device 3 can use every value generated in the motor control device 3 freely, if necessary.

The current detector 11 is made up of a Hall device or the like, for example. The current detector 11 detects the U-phase current i_(u) and the V-phase current i_(v) that are fixed axis components of the motor current I_(a) that is supplied from the PWM inverter 2 to the motor 1. The coordinate converter 12 receives detection results of the U-phase current i_(u) and the V-phase current i_(v) from the current detector 11 and converts them into the γ-axis current i_(γ) and the δ-axis current i_(δ) by using the estimated rotor position θ_(e) given by the estimator 20. This conversion process uses the following equation (3).

$\begin{matrix} {\begin{bmatrix} i_{\gamma} \\ i_{\delta} \end{bmatrix} = {{\sqrt{2}\begin{bmatrix} {\sin\left( {\theta_{e} + {\pi/3}} \right)} & {\sin\mspace{11mu}\theta_{e}} \\ {\cos\left( {\theta_{e} + {\pi/3}} \right)} & {\cos\mspace{11mu}\theta_{e}} \end{bmatrix}}\begin{bmatrix} i_{u} \\ i_{v} \end{bmatrix}}} & (3) \end{matrix}$

The estimator 20 estimates the estimated rotor position θ_(e) and the estimated motor speed ω_(e) and outputs them. A method for estimating the estimated rotor position θ_(e) and the estimated motor speed ω_(e) will be described in detail later.

The subtracter 19 subtracts the estimated motor speed ω_(e) given by the estimator 20 from the specified motor speed value ω*, and the subtraction result (a speed error) is outputted. The speed controller 17 generates a specified δ-axis current value i_(δ)* based on the subtraction result (ω*−ω_(e)) from the subtracter 19. This specified δ-axis current value i_(δ)* represents a value of the current to be followed by the δ-axis current i_(δ) that is a δ-axis component of the motor current I_(a). The magnetic flux controller 16 outputs a specified γ-axis current value i_(γ)*. This specified γ-axis current value i_(γ)* represents a value of current to be followed by the γ-axis current i_(γ) that is a γ-axis component of the motor current I_(a). Although a relationship between the position/speed estimator 20 and the specified γ-axis current value i_(γ)* will be described in detail later, the specified γ-axis current value i_(γ)* is maintained at zero in this embodiment.

The subtracter 13 subtracts the γ-axis current i_(γ) outputted by the coordinate converter 12 from the specified γ-axis current value i_(γ)* outputted by the magnetic flux controller 16 so as to calculate a current error (i_(γ)*−i_(γ)). The subtracter 14 subtracts the δ-axis current i_(δ) outputted by the coordinate converter 12 from the specified δ-axis current value i_(δ)* outputted by the speed controller 17 so as to calculate a current error (i_(δ)*−i_(δ)).

The current controller 15 receives current errors calculated by the subtracters 13 and 14, the γ-axis current i_(γ) and the δ-axis current i_(δ) from the coordinate converter 12 and the estimated motor speed ω_(e) from the estimator 20. Then, the current controller 15 outputs the specified γ-axis voltage value v_(γ)* and the specified δ-axis voltage value v_(δ)* so that the γ-axis current i_(γ) follows the specified γ-axis current value i_(γ)* and that the δ-axis current i_(δ) follows the specified δ-axis current value i_(δ*.)

The coordinate converter 18 performs inverse conversions of the specified γ-axis voltage value v_(γ)* and the specified δ-axis voltage value v_(δ)* based on the estimated rotor position θ_(e) given by the estimator 20, and it generates specified three-phase voltage values consisting of a specified U-phase voltage value v_(u)*, a specified V-phase voltage value v_(v)* and a specified W-phase voltage value v_(w)* indicating the a U-phase component, a V-phase component and a W-phase component of the motor voltage V_(a) so as to output them to the PWM inverter 2. This inverse conversion uses the following equation (4) that includes two equations.

$\quad\begin{matrix} {{\begin{bmatrix} v_{u}^{*} \\ v_{v}^{*} \end{bmatrix} = {{\sqrt{\frac{2}{3}}\begin{bmatrix} {\cos\mspace{11mu}\theta_{e}} & {{- \sin}\mspace{11mu}\theta_{e}} \\ {\cos\left( {\theta_{e} - {2{\pi/3}}} \right)} & {- {\sin\left( {\theta_{e} - {2{\pi/3}}} \right)}} \end{bmatrix}}\begin{bmatrix} v_{\gamma}^{*} \\ v_{\delta}^{*} \end{bmatrix}}}{v_{w}^{*} = {- \left( {v_{u}^{*} + v_{v}^{*}} \right)}}} & (4) \end{matrix}$

The PWM inverter 2 generates a pulse width modulated signal that is modulated based on the specified three-phase voltage values (v_(u)*, v_(v)* and v_(w)*) indicating voltage values to be applied to the motor 1. Then, the PWM inverter 2 supplies the motor 1 with the motor current I_(a) corresponding to the specified three-phase voltage values for driving the motor 1.

FIG. 4 shows an example of an inside structure of the estimator 20. The estimator 20 shown in FIG. 4 includes an axial error estimator 30, a proportional-plus-integral calculator 31 and an integrator 32.

The axial error estimator 30 calculates an axial error Δθ′. This axial error Δθ′ is different from the axial error Δθ as described clearly later. An axial error estimator 130 shown in FIG. 22 calculates the axial error Δθ by using the above equation (1), while the axial error estimator 30 shown in FIG. 4 calculates the axial error Δθ′ by using the equation (5) below.

$\begin{matrix} {{\Delta\mspace{11mu}\theta^{\prime}} = {\tan^{- 1}\left( \frac{- \left( {v_{\gamma}^{*} - {\left( {R_{a} + {L_{d}s}} \right)i_{\gamma}} + {\omega_{e}{Li}_{\delta}}} \right)}{v_{\delta}^{*} - {\left( {R_{a} + {L_{d}s}} \right)i_{\delta}} - {\omega_{e}{Li}_{\gamma}}} \right)}} & (5) \end{matrix}$

The equation (5) corresponds what Δθ and L_(q) in the above equation (1) are respectively replaced with Δθ′ and L. Therefore, the axial error estimator 30 regards L as an operation parameter corresponding to the q-axis inductance when the rotor position is estimated so as to estimate the axial error Δθ′. A method for setting a value of the operation parameter L and a meaning of the axial error Δθ′ in connection with the method will be described later.

The proportional-plus-integral calculator 31 performs a proportional plus integral control in cooperation with each portion constituting the motor control device 3 for realizing a PLL (Phase Locked Loop), and it calculates the estimated motor speed ω_(e) so that the axial error Δθ′ calculated by the axial error estimator 30 converges to zero. The integrator 32 integrates the estimated motor speed ω_(e) outputted by the proportional-plus-integral calculator 31 so as to calculate the estimated rotor position θ_(e). The estimated motor speed ω_(e) outputted by the proportional-plus-integral calculator 31 and the estimated rotor position θ_(e) outputted by the integrator 32 are imparted to each portion of the motor control device 3 that needs the values as output values of the estimator 20.

If a true value (a real value) of the q-axis inductance is used as L in the equation (5), i.e., L=L_(q), Δθ′ becomes equal to Δθ. Therefore, the axial error Δθ′(=Δθ) converges to zero (i.e., becomes the same control as the structure shown in FIG. 21) as a result of a PLL control performed by the proportional-plus-integral calculator 31 and the like. However, as a characterized point of this embodiment, the operation parameter L is set to a value that satisfies the inequality (6) below. More specifically, a value between a real q-axis inductance (i.e., L_(q)) and a real d-axis inductance (i.e., L_(d)) of the motor 1 is adopted as an operation parameter corresponding to the q-axis inductance for performing the calculation of the axial error. Note that L_(d)<L_(q) is satisfied, of course. L _(d) ≦L<L _(q)   (6)

In addition, it is desirable that the operation parameter L is determined so as to satisfy the inequality (7) below. L _(d) ≦L<(L _(d) +L _(q))/2   (7)

The axial error Δθ′ that is obtained by adopting the L that was set as described above as the operation parameter corresponding to the q-axis inductance is naturally different from the axial error Δθ. For this reason, even if the PLL control is performed so that the axial error Δθ′ converges to zero, a deviation (i.e., an axial error that is not zero) may occur between the d-axis and the γ-axis.

In this embodiment, this deviation is generated purposely, and the deviation is utilized for setting the specified γ-axis current value i_(γ)* outputted by the magnetic flux controller 16 to zero. Thus, a control similar to the maximum torque control is performed. This control will be examined as follows.

First, as disclosed in the first non-patent document mentioned above, a relationship between an error of the operation parameter that is used for estimation of a rotor position (i.e., calculation of the estimated rotor position θ_(e)) and a position estimation error (an axial error) is expressed in the equation (8) below. Here, R_(a)′ represents a value of the motor resistance as the operation parameter that is used in the calculation equation for estimating the rotor position, and (R_(a)−R_(a)′) represents an error between the operation parameter and a true motor resistance R_(a). L_(q)′ represents a value of the q-axis inductance as the operation parameter that is used in the calculation equation for estimating the rotor position, and (L_(q)−L_(q)′) represents an error between the operation parameter and a true q-axis inductance.

$\begin{matrix} {{{\frac{R_{a} - R_{a}^{\prime}}{\omega}i_{\gamma}} - {\left( {L_{q} - L_{q}^{\prime}} \right)i_{\delta}}} = {\sin\mspace{11mu}\Delta\mspace{11mu}\theta\left\{ {\Phi_{a} + {\left( {L_{d} - L_{q}} \right)\left( {{i_{\gamma}\cos\mspace{11mu}\Delta\mspace{11mu}\theta} + {i_{\delta}\sin\mspace{11mu}\Delta\mspace{11mu}\theta}} \right)}} \right\}}} & (8) \end{matrix}$

It is supposed that L_(q)′=L. In other words, it is supposed that an error corresponding to (L_(q)−L) is given for estimating the rotor position purposely. The estimation of the axial error Δθ′ by using the above equation (5) means that the error corresponding to (L_(q)−L) is given so as to estimate the axial error. In addition, it is supposed that (R_(a)−R_(a)′) is zero. Furthermore, it is supposed that the specified γ-axis current value i_(γ)* to be followed by the γ-axis current i_(γ) is set to zero as described above. In other words, it is supposed that i_(γ)=0 in the equation (8). Then, the equation (8) can be transformed to the equation (9) below.

$\begin{matrix} {{{\frac{i_{d}}{\sqrt{i_{d}^{2} + i_{q}^{2}}}\left\{ {\Phi_{a} + {\left( {L_{d} - L_{q}} \right)i_{d}}} \right\}} + {\left( {L_{q} - L} \right)\sqrt{i_{d}^{2} + i_{q}^{2}}}} = 0} & (9) \end{matrix}$

Then, the equation (10) of the d-axis current i_(d) matching the maximum torque control is substituted into the equation (9) so as to solve the equation for L. Thus, the following equation (11) is obtained. Note that the equation (10) is generally known and the maximum torque control can be obtained by supplying the motor 1 with the d-axis current i_(d) that satisfied the equation (10) in accordance with the q-axis current i_(q).

$\quad\begin{matrix} {i_{d} = {\frac{\Phi_{a}}{2\left( {L_{q} - L_{d}} \right)} - \sqrt{\frac{\Phi_{a}^{2}}{4\left( {L_{q} - L_{d}} \right)^{2}} + i_{q}^{2}}}} & (10) \\ {L = {L_{q} + \frac{{- 2}\left( {L_{q} - L_{d}} \right)^{3}i_{q}^{2}}{\Phi_{a}^{2} - {\Phi_{a}\sqrt{\Phi_{a}^{2} + {4\left( {L_{d} - L_{q}} \right)^{2}i_{q}^{2}} + {4\left( {L_{d} - L_{q}} \right)^{2}i_{q}^{2}}}}}}} & (11) \end{matrix}$

As understood from the method for deriving the equation (11), L in the equation (11) indicates a value of the q-axis inductance as the operation parameter to be adopted by the axial error estimator 30 for obtaining the maximum torque control in an ideal manner when the specified γ-axis current value i_(γ)* is set to zero.

L in the equation (11) is a function of the q-axis current i_(q). Hereinafter, for a specific description, some example values are used, which include Φ_(a)=0.2411 [Vs/rad], L_(d)=0.003 [H] and L_(q)=0.008 [H]. In this case, the relationship between i_(q) and L is shown by the curve 60 in FIG. 5. When the specified γ-axis current value i_(γ)* is set to zero, a value of L matching the maximum torque control is approximately within the range of 0.003-0.0042 [H] under the condition of 1 [A]≦i_(q)≦40 [A]. More specifically, it is understood that when the specified γ-axis current value i_(γ)* is set to zero, a value of L matching the maximum torque control exists on the fairly L_(d) (that is 0.003 [H] in this example) side from L_(q) (that is 0.008 [H] in this example).

Noting this fact in this embodiment, the operation parameter L that satisfies the above inequality (6) or (7) is adopted, and the specified γ-axis current value i_(γ)* is set to zero, so that a control similar to the maximum torque control is realized. For example, the relationship between the q-axis current i_(q) and the d-axis current i_(d) that flows in the motor 1 when the operation parameter L is fixed as L=0.0039 [H] regardless of i_(q) under the condition of the above example values is shown by the broken line 62 in FIG. 6. The solid line 61 is a curve showing the relationship between the d-axis current i_(d) and the q-axis current i_(q) when the maximum torque control is performed in an ideal manner. The broken line 62 and the solid line 61 show curved that are very similar to each other as understood from FIG. 6.

Despite of i_(γ)*=0, the d-axis current i_(d) flows corresponding to the q-axis current i_(q) because that a deviation is generated between the d-axis and the γ-axis when the operation parameter L that satisfies the above inequality (6) or (7) is adopted as the operation parameter corresponding to the q-axis inductance. Note that L=0.0039 [H] when i_(q)=30 [A] on the curve 60 in FIG. 5, so naturally the solid line 61 and the broken line 62 cross each other at i_(q)=30[A].

Although a value of the specified γ-axis current value i_(γ)* is set to zero in the example described above for a specific description, the value of the specified γ-axis current value i_(γ)* is not required to be precisely zero but can be a value of approximately zero (i.e., i_(γ)*≈0). In other words, “zero” concerning a value of the specified γ-axis current value i_(γ)* should be interrupted to be “substantial zero” having a certain extent of range. If the i_(γ)* is not precisely zero, a control similar to the maximum torque control can be realized as long as the i_(γ)* can be regarded to be substantially zero.

A value of the operation parameter L is selected from a range that satisfies the above inequality (6) or (7) so that a control similar to the maximum torque control is realized as described above. More specifically, the specified γ-axis current value i_(γ)* is set to a predetermined value of zero or close to zero so that the γ-axis current i_(γ) is the predetermined value and the motor 1 is given a predetermined load torque. Then, in this state, a value of the operation parameter L such that the motor current I_(a) becomes a minimum value is selected from the range satisfying the above inequality (6) or (7). A value of L that gives a minimum value to the motor current I_(a) under the condition of i_(γ)*≈0 exists between L_(d) and L_(q) as shown in FIG. 7. Even if various values are adopted as the values of Φ_(a), L_(d) and L_(q), such L satisfies the above inequality (7).

When a value of L that gives a minimum value to the motor current I_(a) under the condition of i_(γ)*≈0 is selected, the L becomes an operation parameter for realizing the maximum torque control in an ideal manner at the predetermined load torque. Note that such a value of the operation parameter L is examined and set in a designing stage.

In this way, if a value of the q-axis inductance as an operation parameter that is used for estimating a rotor position is set appropriately, a control similar to the maximum torque control can be realized only by setting i_(γ)*≈0 without calculating a value of i_(γ)* sequentially. As a result, a quantity of calculation for the maximum torque control can be reduced. In addition, although the adjustment of the operation parameter for estimating a rotor position and the adjustment of the operation parameter for performing the maximum torque control are necessary in the conventional structure as shown in FIGS. 21 and 22, this embodiment can realize a control similar to the maximum torque control only by adjusting the operation parameter L for estimating a rotor position. Thus, time necessary for adjustments can be reduced, and temporal efficiency is improved.

In addition, although the operation parameter L is set to a fixed value (L=0.0039 [H] in this example) regardless of a value of the q-axis current i_(q) in the example described above, the operation parameter L may be altered in accordance with a value of the q-axis current i_(q) (in accordance with a value of the specified δ-axis current value i_(δ)*). For example, the operation parameter L may be altered in accordance with a value of the q-axis current i_(q) (in accordance with a value of the specified δ-axis current value i_(δ)*) along the curve 60 shown in FIG. 5. Then, even if i_(γ)*≈0, an ideal maximum torque control can be realized (in this case, the solid line 61 and the broken line 62 match each other completely in FIG. 6). Note that it should be examined in advance in the designing stage how the operation parameter L is set in accordance with a value of the q-axis current i_(q) (in accordance with a value of the specified δ-axis current value i_(δ)*).

In addition, although the method for realizing the maximum torque control or a control similar to the maximum torque control is described above, other control utilizing the reluctance torque may be realized depending on a method for setting the operation parameter L.

For example, the specified γ-axis current value i_(γ)* is set to a predetermined value of zero or close to zero so that the γ-axis current i_(γ) becomes the predetermined value, and a predetermined load condition is given to the motor 1. Then, in this state, a value of the operation parameter L such that losses in the motor 1 (a copper loss and an iron loss) becomes a minimum value is selected from the range satisfying the above inequality (6) or (7). A value of L that gives a minimum value to the loss under the condition of i_(γ)*≈0 exists between L_(d) and L_(q) similarly to the case of the maximum torque control. Even if various values are adopted as the values of Φ_(a), L_(d) and L_(q), such L satisfies the above inequality (7).

When a value of L that gives a minimum value to the loss under the condition of i_(γ)*≈0 is selected, the L becomes an operation parameter for realizing the maximum efficiency control under the predetermined load condition. Note that such a value of the operation parameter L is examined and set in a designing stage. In addition, the above-mentioned “the predetermined load condition” means, for example, the condition of rotating the motor 1 at a predetermined rotation speed or the condition of giving the motor 1 a predetermined load torque.

In addition, the current controller 15 performs necessary calculations by using the following equations (12a) and (12b) including two equations. In addition, the speed controller 17 and the proportional-plus-integral calculator 31 perform necessary calculations by using the following equations (13) and (14).

$\quad\begin{matrix} {v_{\gamma}^{*} = {{\left( {K_{c\mspace{11mu} p} + \frac{K_{c\mspace{11mu} i}}{s}} \right)\left( {i_{\gamma}^{*} - i_{\gamma}} \right)} - {\omega_{e}L_{q}i_{\delta}}}} & \left( {12a} \right) \\ {v_{\delta}^{*} = {{\left( {K_{c\mspace{11mu} p} + \frac{K_{c\mspace{11mu} i}}{s}} \right)\left( {i_{\delta}^{*} - i_{\delta}} \right)} + {\omega_{e}\left( {{L_{d}i_{\gamma}} + \Phi_{a}} \right)}}} & \left( {12b} \right) \\ {i_{\delta}^{*} = {\left( {K_{s\mspace{11mu} p} + {K_{s\mspace{11mu} i}/s}} \right) \cdot \left( {\omega^{*} - \omega_{e}} \right)}} & (13) \\ {\omega_{e} = {{\left( {K_{p} + {K_{i}/s}} \right) \cdot \Delta}\mspace{11mu}\theta^{\prime}}} & (14) \end{matrix}$

Here, K_(cp), K_(sp) and K_(p) denote constants of proportionality (proportional gains), while K_(ci), K_(si) and K_(i) denote constants of integration (integral gains), which are preset in a designing stage of the motor drive system.

[About Estimator]

The above-mentioned method for estimating a rotor position performed by the estimator 20 is merely an example, and various methods of estimation can be adopted. When the estimation of a rotor position (i.e., calculation of an estimated rotor position θ_(e)) is performed, any estimation method can be adopted as long as it is an estimation method that uses an operation parameter corresponding to the q-axis inductance of the motor 1.

For example, a method described in the first non-patent document may be used for estimating a rotor position. In the first non-patent document mentioned above, it is understood that the axial error Δθ is calculated by using the following equation (15). If reference numerals and symbols in this embodiment are used, e_(γ) and e_(δ) respectively represent the γ-axis component and the δ-axis component of the induction voltage generated by rotation of the motor 1 and an armature flux linkage Φ_(a) of the permanent magnet 1 a. In addition, s represents the Laplace operator, and g represents a gain of a disturbance observer.

$\quad\begin{matrix} \begin{matrix} {{\Delta\mspace{11mu}\theta} = {\tan^{- 1}\left( \frac{- e_{\gamma}}{e_{\delta}} \right)}} \\ {= {\tan^{- 1}\frac{{- \frac{g}{s + g}}\left( {v_{\gamma} + {\omega_{e}L_{q}i_{\delta}} - {\left( {{L_{d}s} + R_{a}} \right)i_{\gamma}}} \right)}{\frac{g}{s + g}\left( {v_{\delta} - {\omega_{e}L_{q}i_{\gamma}} - {\left( {{L_{d}s} + R_{a}} \right)i_{\delta}}} \right)}}} \end{matrix} & (15) \end{matrix}$

If the method for estimating the axial error from the induction voltage as shown in equation (15) is adopted by the axial error estimator 30 shown in FIG. 4, the axial error estimator 30 should calculate the axial error Δθ′ by using the following equation (16). The equation (16) is what Δθ and L_(q) in the above equation (15) are replaced with Δθ′ and L, respectively. Then, similarly to the structure shown in FIG. 4, the proportional-plus-integral calculator 31 calculates the estimated motor speed ω_(e), and the integrator 32 calculates the estimated rotor position θ_(e) so that the axial error Δθ′ converges to zero. Thus, a deviation may occur between the d-axis and the γ-axis.

$\begin{matrix} \begin{matrix} {{\Delta\;\theta^{\prime}} = {\tan^{- 1}\left( \frac{- e_{\gamma}}{e_{\delta}} \right)}} \\ {= {\tan^{- 1}\frac{{- \frac{g}{s + g}}\left( {v_{\gamma} + {\omega_{e}{Li}_{\delta}} - {\left( {{L_{d}s} + R_{a}} \right)i_{\gamma}}} \right)}{\frac{g}{s + g}\left( {v_{\delta} - {\omega_{e}{Li}_{\gamma}} - {\left( {{L_{d}s} + R_{a}} \right)i_{\delta}}} \right)}}} \end{matrix} & (16) \end{matrix}$

In addition, the method described in JP-A-2004-96979 or other method may be used for estimating a rotor position.

Furthermore, instead of the structure shown in FIG. 4, a structure for estimating an axial error (a rotor position) from the flux linkage to be basis of the induction voltage may be adopted. This method will be described as follows. First, an equation of the extension induction voltage (the extended electromotive force) on the real axis is usually expressed as the following equation (17). E_(ex) in the equation (17) is expressed in the equation (18), which is called an extension induction voltage (an extended electromotive force). Note that p in the following equations denotes a differential operator.

$\begin{matrix} {\begin{bmatrix} v_{d} \\ v_{q} \end{bmatrix} = {{\begin{bmatrix} {R_{a} + {pL}_{d}} & {{- \omega}\; L_{q}} \\ {\omega\; L_{q}} & {R_{a} + {pL}_{d}} \end{bmatrix}\begin{bmatrix} i_{d} \\ i_{q} \end{bmatrix}} + \begin{bmatrix} 0 \\ E_{ex} \end{bmatrix}}} & (17) \\ {E_{ex} = {{\omega\left( {{\left( {L_{d} - L_{q}} \right)i_{d}} + \Phi_{a}} \right)} - {\left( {L_{d} - L_{q}} \right)\left( {pi}_{q} \right)}}} & (18) \end{matrix}$

When the equation (17) on the real axis is converted into an equation on a control axis by coordinate conversion, the equation (19) is obtained.

$\begin{matrix} {\begin{bmatrix} v_{\gamma} \\ v_{\delta} \end{bmatrix} = {{\begin{bmatrix} {R_{a} + {pL}_{d}} & {{- \omega}\; L_{q}} \\ {\omega\; L_{q}} & {R_{a} + {pL}_{d}} \end{bmatrix}\begin{bmatrix} i_{\gamma} \\ i_{\delta} \end{bmatrix}} + {E_{ex}\begin{bmatrix} {{- \sin}\;{\Delta\theta}} \\ {\cos\;{\Delta\theta}} \end{bmatrix}} + {\left( {\omega_{e} - \omega} \right){L_{d}\begin{bmatrix} {- i_{\delta}} \\ i_{\gamma} \end{bmatrix}}}}} & (19) \end{matrix}$

In addition, the magnetic flux in the case where the transient term (the second term on the right-hand side) of the equation (18) indicating the extension induction voltage E_(ex) is ignored is defined as an extension magnetic flux Φ_(ex) as shown in the following equation (20). Φ_(ex)=(L _(d) −L _(q))i _(d)+Φ_(a)   (20)

Since a value of the motor current and a variation of the phase is very small in the state of a constant motor speed and a constant load, the second term on the right-hand side of the equation (18) that is a differential term of the q-axis current is sufficiently smaller than ωΦ_(ex) and can be regarded as zero. In addition, if the motor 1 is driven without stepping out, the real motor speed ω and the estimated motor speed ω_(e) have values that are similar to each other. Therefore, the third term on the right-hand side of the equation (19) is also smaller than ωΦ_(ex) sufficiently and can be regarded as zero. Therefore, ignoring the second term on the right-hand side of the equation (18) and the third term on the right-hand side of the equation (19), the equation (19) becomes the following equation (21).

$\begin{matrix} \begin{matrix} {\begin{bmatrix} v_{\gamma} \\ v_{\delta} \end{bmatrix} = {{\begin{bmatrix} {R_{a} + {pL}_{d}} & {{- \omega}\; L_{q}} \\ {\omega\; L_{q}} & {R_{a} + {pL}_{d}} \end{bmatrix}\begin{bmatrix} i_{\gamma} \\ i_{\delta} \end{bmatrix}} + {E_{ex}\begin{bmatrix} {{- \sin}\;{\Delta\theta}} \\ {\cos\;{\Delta\theta}} \end{bmatrix}}}} \\ {= {{\begin{bmatrix} {R_{a} + {pL}_{d}} & {{- \omega}\; L_{q}} \\ {\omega\; L_{q}} & {R_{a} + {pL}_{d}} \end{bmatrix}\begin{bmatrix} i_{\gamma} \\ i_{\delta} \end{bmatrix}} + {\omega\;{\Phi_{ex}\begin{bmatrix} {{- \sin}\;{\Delta\theta}} \\ {\cos\;{\Delta\theta}} \end{bmatrix}}}}} \end{matrix} & (21) \end{matrix}$

Here, FIG. 8 shows a vector diagram indicating the relationship among voltages of the portions of the motor 1, and so on. The voltage V_(a) applied to the motor is shown as a sum of the extension induction voltage E_(ex)=ωΦ_(ex), a voltage drop vector R_(a)·I_(a) by the motor resistance R_(a) and a voltage drop vector V_(L) by the inductance of the armature winding. The extension magnetic flux Φ_(ex) is a sum of a magnetic flux Φ_(a) generated by the permanent magnet and a magnetic flux (L_(d)−L_(q))i_(d) generated by the d-axis current, so the vector thereof has the same direction as the d-axis. The vector represented by L_(q)·I_(a) is a vector of the magnetic flux generated by the q-axis inductance and the motor current I_(a), and the reference numeral 70 represents a composite magnetic flux vector of Φ_(ex) and L_(q)·I_(a).

In addition, Φ_(δ) represents a δ-axis component of the extension magnetic flux Φ_(ex). Therefore, the equation Φ_(δ)=Φ_(ex)·sin Δθ holds. Furthermore, when the first row of the matrix in the equation (21) is expanded and organized, the following equation (22) is derived.

$\begin{matrix} {{\Phi_{ex}\sin\;{\Delta\theta}} = {- \left( {\frac{v_{\gamma} - {\left( {{L_{d}s} + R_{a}} \right)i_{\gamma}}}{\omega} + {L_{q}i_{\delta}}} \right)}} & (22) \end{matrix}$

Usually, the magnetic flux generated by the permanent magnet is sufficiently larger than the magnetic flux generated by the d-axis current, i.e., Φ_(a) is sufficiently larger than (L_(d)−L_(q))i_(d). Therefore, it is regarded that Φ_(ex) has a constant value, i.e., Φ_(ex)≈Φ_(a). Then, supposing that the axial error Δθ is so small that an approximation sin Δθ≈θ is satisfied, the following equation (23) holds with reference to the equation (22).

$\begin{matrix} \begin{matrix} {~{\Phi_{\delta} = {{\Phi_{ex}\sin\;{\Delta\theta}} = {- \left( {\frac{v_{\gamma} - {\left( {{L_{d}s} + R_{a}} \right)i_{\gamma}}}{\omega} + {L_{q}i_{\delta}}} \right)}}}} \\ {\approx {\Phi_{a}\sin\;{\Delta\theta}}} \\ {\approx {\Phi_{a}{\Delta\theta}}} \end{matrix} & (23) \end{matrix}$

As understood from the above equation (23), Φ_(δ) can be approximated to equal to the δ-axis component of the armature flux linkage Φ_(a) (i.e., a δ-axis magnetic flux that is a magnetic flux component parallel to the δ-axis of the permanent magnet 1 a of the motor 1 (see FIG. 2)). Therefore, it is approximated that Φ_(δ)≈(a constant value)×Δθ. For this reason, when this Φ_(δ) is controlled to converge to zero, the axial error Δθ also converges to zero. In other words, a rotor position or a motor speed can be estimated based on Φ_(δ).

Therefore, the estimator 20 shown in FIGS. 3 and 4 can be replaced with an estimator 20 a shown in FIG. 9. The estimator 20 a includes a δ-axis magnetic flux estimator 33, a proportional-plus-integral calculator 31 a and an integrator 32 a. If the axial error Δθ is converged to zero, the δ-axis magnetic flux estimator 33 should estimate a δ-axis magnetic flux Φ_(δ). However, similarly to the idea described above, in order to generate a deviation purposely between the d-axis and the γ-axis, the δ-axis magnetic flux estimator 33 estimates a δ-axis magnetic flux Φ_(δ)′ in accordance with the following equation (24). More specifically, it calculates the δ-axis magnetic flux Φ_(δ)′ by using L that satisfies the above inequality (6) or (7) instead of a real value of L_(q) as an operation parameter corresponding to the q-axis inductance.

$\begin{matrix} {\Phi_{\delta}^{\prime} = {- \left( {\frac{v_{\gamma}^{*} - {\left( {{L_{d}s} + R_{a}} \right)i_{\gamma}}}{\omega_{e}} + {Li}_{\delta}} \right)}} & (24) \end{matrix}$

The proportional-plus-integral calculator 31 a is similar to the proportional-plus-integral calculator 31 shown in FIG. 4, and it cooperate with each portion constituting the motor control device 3 so as to perform the proportional plus integral control. Thus, the proportional-plus-integral calculator 31 a calculates the estimated motor speed ω_(e) so that the δ-axis magnetic flux Φ_(δ)′ calculated by the δ-axis magnetic flux estimator 33 converges to zero. The integrator 32 a integrates the estimated motor speed ω_(e) outputted by the proportional-plus-integral calculator 31 a so as to calculate the estimated rotor position θ_(e). The estimated motor speed ω_(e) outputted by the proportional-plus-integral calculator 31 a and the estimated rotor position θ_(e) outputted by the integrator 32 a are imparted to portions of the motor control device 3 that need the values as output values of the estimator 20 a.

As understood from the equation (24), the term including L_(d) is multiplied by i_(γ), so a value of the term is relatively small. In other words, when a rotor position is estimated, influence of the d-axis inductance L_(d) is small (because a value of i_(γ) is much smaller than a value of i_(δ)). Considering this fact, it is possible to use L as a value of L_(d) in the equation (24) that is used for the estimation. In this case, a high efficiency operation of the salient pole machine can be realized by a control similar to a control that is used for a non-salient pole machine (such as a surface magnet synchronous motor) that does not utilize a reluctance torque. Therefore, it is unnecessary to change the control by distinguishing a difference of a structure for embedding a magnet, for example, resulting in a high flexibility. This high flexibility is also true in the case where the equations (5) and (16) and the others are used.

Although the approximation Φ_(ex)≈Φ_(a) is used in the equation (23), it is possible to estimate the δ-axis magnetic flux without using this approximation. In this case, the δ-axis magnetic flux Φ_(δ)′ may be estimated in accordance with the following equation (25). In this case too, L that satisfies the above inequality (6) or (7) is used as the operation parameter corresponding to the q-axis inductance instead of a real value of L_(q).

$\begin{matrix} {\Phi_{\delta}^{\prime} = {{- \frac{\Phi_{a}}{{\left( {L_{d} - L} \right)i_{\gamma}} + \Phi_{a}}}\left( {\frac{v_{\gamma}^{*} - {\left( {{L_{d}s} + R_{a}} \right)i_{\gamma}}}{\omega_{e}} + {Li}_{\delta}} \right)}} & (25) \end{matrix}$

Second Embodiment

Next, a second embodiment of the present invention will be described. In the descriptions of the above first embodiment, this embodiment and the following other embodiments, the same elements are denoted by the same reference numeral or the same symbol (θ, ω or the like) as long as without a special description. Therefore, overlapping description about the element denoted by the same reference numeral or the same symbol may be omitted.

FIG. 10 is a block diagram of a motor drive system according to the second embodiment. The motor drive system according to the second embodiment includes a motor 1, an inverter 2 and a motor control device 3 a.

The motor control device 3 a estimates a rotor position or the like of the motor 1 based on the motor current I_(a), and it supplies the PWM inverter 2 with a signal for rotating the motor 1 at a desired rotation speed. This desired rotation speed is supplied from a CPU (Central Processing Unit) or the like (not shown) to the motor control device 3 a as a specified motor speed value ω*.

FIGS. 11 and 12 are analytic model diagrams of the motor 1, which are applied to this embodiment. FIG. 11 shows armature winding fixed axes in the U-phase, the V-phase and the W-phase. In this embodiment too, a d-axis, a q-axis, a γ-axis, a δ-axis, a real rotor position θ, an estimated rotor position θ_(e), an axial error Δθ, a real motor speed ω and an estimated motor speed ω_(e) are defined in the same manner as in the first embodiment (see FIG. 2).

In addition, a rotation axis having the same direction as a vector of current to be supplied to the motor 1 when the maximum torque control is realized is defined as a qm-axis. Then, the axis lagging behind the qm-axis by 90 degrees in electrical angle is defined as dm-axis. Coordinate axes consisting of the dm-axis and the qm-axis are called as dm-qm axes.

As understood from the solid fine 61 in FIG. 6 indicating a current locus when the maximum torque control is realized, motor current for realizing the maximum torque control has a positive q-axis component and a negative d-axis component. For this reason, the qm-axis leads the q-axis in phase. In FIGS. 11 and 12, the anticlockwise direction is the leading direction in phase.

A phase (an angle) of the q-axis viewed from the qm-axis is denoted by θ_(m), and a phase (an angle) of the qm-axis viewed from the δ-axis is denoted by Δθ_(m). In this case, naturally, a phase of the d-axis viewed from the dm-axis is also denoted by θ_(m), and a phase of the dm-axis viewed from the γ-axis is also denoted by Δθ_(m). θ_(m) is a leading angle of the qm-axis (or the dm-axis) viewed from the q-axis (or the d-axis). Δθ_(m) denotes an axial error between the qm-axis and the δ-axis (or an axial error between the dm-qm axes and the γ-δ axes). Δθ that is an axial error between the d-axis and the γ-axis is denoted by Δθ=Δθ_(m)+θ_(m).

As described above, the dm-axis leads the d-axis in phase. In this case, it is supposed that θ_(m) has a negative value. Similarly, when the γ-axis leads the dm-axis in phase, Δθ_(m) has a negative value. The vectors (E_(m) and the like) shown in FIG. 12 will be described later.

In addition, the dm-axis component and the qm-axis component of the motor current I_(a) are represented by a dm-axis current i_(dm) and a qm-axis current i_(qm), respectively. The dm-axis component and the qm-axis component of the motor voltage V_(a) are represented by a dm-axis voltage v_(dm) and a qm-axis voltage v_(qm), respectively.

In this embodiment, the axial error Δθ_(m) between the qm-axis (the dm-axis) and the δ-axis (the γ-axis) is estimated, and the γ-axis that is an estimated axis is converged to the dm-axis (i.e., the axial error Δθ_(m) is converged to zero). Then, the motor current I_(a) is decomposed into the qm-axis current i_(qm) that is parallel to the qm-axis and the dm-axis current i_(dm) that is parallel to the dm-axis, so as to perform a vector control of the motor 1.

In this case too, it is necessary to adjust a parameter for estimate the axial error Δθ_(m) (so that the axial error Δθ_(m) is converged to zero). When this adjustment is performed, an adjustment of a parameter for realizing the maximum torque control is completed at the same time. In other words, the parameter adjustment for the axial error estimation is also the parameter adjustment for realizing the maximum torque control, so the adjustment can be performed very easily.

In addition, as understood from the definition of the qm-axis, the current locus of the motor current I_(a) when the maximum torque control is performed is located on the qm-axis as shown by the solid line 82 in FIG. 13. Therefore, when the maximum torque control is performed, the complicated calculation of the specified γ-axis current value i_(γ)* as shown in the above equation (2) is not necessary, so that the calculation load can be reduced. In this case, the specified γ-axis current value i_(γ)* is set similarly to the first embodiment. More specifically, for example, the specified γ-axis current value i_(γ)* is set to a predetermined value of zero or close to zero regardless of a value of i_(δ).

Next, meaning and a specific method for the control in this embodiment will be described with reference to a voltage equation. Firstly, an extension induction voltage equation on the real axis is expressed in the equation (26), and an extension induction voltage E_(ex) is expressed in the equation (27). The equation (26) is similar to the above equation (17), and the equation (27) is similar to the above equation (18). Note that p in the following equations represents the differential operator.

$\begin{matrix} {\begin{bmatrix} v_{d} \\ v_{q} \end{bmatrix} = {{\begin{bmatrix} {R_{a} + {pL}_{d}} & {{- \omega}\; L_{q}} \\ {\omega\; L_{q}} & {R_{a} + {pL}_{d}} \end{bmatrix}\begin{bmatrix} i_{d} \\ i_{q} \end{bmatrix}} + \begin{bmatrix} 0 \\ E_{ex} \end{bmatrix}}} & (26) \\ {E_{ex} = {{\omega\left( {{\left( {L_{d} - L_{q}} \right)i_{d}} + \Phi_{a}} \right)} - {\left( {L_{d} - L_{q}} \right)\left( {pi}_{q} \right)}}} & (27) \end{matrix}$

When the equation (26) on the real axis is converted into an equation on the γ-δ axes that is an estimated axis for the control by the coordinate conversion, the equation (28) is obtained. Then, the third term on the right-hand side of the equation (28) is ignored for simplification, so that the equation (29) is obtained.

$\begin{matrix} {\begin{bmatrix} v_{\gamma} \\ v_{\delta} \end{bmatrix} = {{\begin{bmatrix} {R_{a} + {pL}_{d}} & {{- \omega}\; L_{q}} \\ {\omega\; L_{q}} & {R_{a} + {pL}_{d}} \end{bmatrix}\begin{bmatrix} i_{\gamma} \\ i_{\delta} \end{bmatrix}} + {E_{ex}\begin{bmatrix} {{- \sin}\;{\Delta\theta}} \\ {\cos\;{\Delta\theta}} \end{bmatrix}} - {\left( {p\;{\Delta\theta}} \right){L_{d}\begin{bmatrix} {- i_{\delta}} \\ i_{\gamma} \end{bmatrix}}}}} & (28) \\ {\begin{bmatrix} v_{\gamma} \\ v_{\delta} \end{bmatrix} = {{\begin{bmatrix} {R_{a} + {pL}_{d}} & {{- \omega}\; L_{q}} \\ {\omega\; L_{q}} & {R_{a} + {pL}_{d}} \end{bmatrix}\begin{bmatrix} i_{\gamma} \\ i_{\delta} \end{bmatrix}} + {E_{ex}\begin{bmatrix} {{- \sin}\;{\Delta\theta}} \\ {\cos\;{\Delta\theta}} \end{bmatrix}}}} & (29) \end{matrix}$

Noting the dm-qm axes, the equation (29) is rewritten, and then the equation (30) is obtained.

$\begin{matrix} {\begin{bmatrix} v_{d\; m} \\ v_{qm} \end{bmatrix} = {{\begin{bmatrix} {R_{a} + {pL}_{d}} & {{- \omega}\; L_{q}} \\ {\omega\; L_{q}} & {R_{a} + {pL}_{d}} \end{bmatrix}\begin{bmatrix} i_{d\; m} \\ i_{q\; m} \end{bmatrix}} + {E_{ex}\begin{bmatrix} {{- \sin}\mspace{11mu}\theta_{m}} \\ {\cos\mspace{11mu}\theta_{m}} \end{bmatrix}}}} & (30) \end{matrix}$

Here, it is defined that the equation (31) holds. In addition, it is considered that i_(d)=i_(qm)·sin θ_(m). Then, the equation (32) holds. L _(q1) i _(qm)=sin θ_(m){Φ_(a)+(L _(d) =L _(q))i _(d)}  (31) L _(q1) i _(qm)=sin θ_(m){Φ_(a)+(L _(d) =L _(q))i _(d)}=sin θ_(m){Φ_(a)+(L _(d) −L _(q))i _(qm) sin θ_(m)}  (32)

When the equation (32) is used for modifying the equation (30), the equation (33) is obtained. Here, E_(m) is expressed in the equation (34). L_(q1) is a virtual inductance depending on θ_(m). L_(q1) is determined for convenience so as to regard E_(ex)·sin θ_(m) on the second term on the right-hand side of the equation (30) as a voltage drop by the virtual inductance. Note that L_(q1) has a negative value.

$\quad\begin{matrix} {\begin{bmatrix} v_{d\; m} \\ v_{qm} \end{bmatrix} = {{\begin{bmatrix} {R_{a} + {pL}_{d}} & {- {\omega\left( {L_{q} + L_{q\; 1}} \right)}} \\ {\omega\; L_{q}} & {R_{a} + {pL}_{d}} \end{bmatrix}\begin{bmatrix} i_{d\; m} \\ i_{q\; m} \end{bmatrix}} + {E_{m}\begin{bmatrix} 0 \\ 1 \end{bmatrix}}}} & (33) \\ \begin{matrix} {E_{m} = {\left( {{\omega\left( {{\left( {L_{d} - L_{q}} \right)i_{d}} + \Phi_{a}} \right)} - {\left( {L_{d} - L_{\; q}} \right)\left( {pi}_{q} \right)}} \right)\cos\mspace{11mu}\theta_{m}}} \\ {= {E_{ex}\cos\mspace{11mu}\theta_{m}}} \end{matrix} & (34) \end{matrix}$

Here, it is approximated that the equation L_(m)=L_(q)+L_(q1) holds (Since θ_(m) depends on i_(q) and i_(qm), L_(q1) depends on i_(q) and i_(qm). In addition, L_(q) also depends on i_(q) and i_(qm) because of an influence of a magnetic saturation. The dependence of L_(q1) on i_(q) and the dependence of L_(q) on i_(q) are unified to L_(m), so as to consider the influence of i_(q) and i_(qm) when the estimation is performed). Then, the equation (33) is modified to the following equation (35). Note that this L_(m) corresponds to the operation parameter L in the first embodiment as being described later.

$\begin{matrix} {\begin{bmatrix} v_{d\; m} \\ v_{qm} \end{bmatrix} = {{\begin{bmatrix} {R_{a} + {pL}_{d}} & {{- \omega}\; L_{m}} \\ {\omega\; L_{q}} & {R_{a} + {pL}_{d}} \end{bmatrix}\begin{bmatrix} i_{d\; m} \\ i_{q\; m} \end{bmatrix}} + {E_{m}\begin{bmatrix} 0 \\ 1 \end{bmatrix}}}} & (35) \end{matrix}$

In addition, the equation (35) is modified so that the following equation (36) is obtained. Here, E_(exm) is expressed in the following equation (37).

$\quad\begin{matrix} \begin{matrix} {\begin{bmatrix} v_{d\; m} \\ v_{qm} \end{bmatrix} = {{\begin{bmatrix} {R_{a} + {pL}_{d}} & {{- \omega}\; L_{m}} \\ {\omega\; L_{m}} & {R_{a} + {pL}_{d}} \end{bmatrix}\begin{bmatrix} i_{d\; m} \\ i_{q\; m} \end{bmatrix}} + \begin{bmatrix} 0 \\ E_{m} \end{bmatrix} + {\omega\left( {L_{q} - L_{m}} \right)}}} \\ {\begin{bmatrix} 0 & 0 \\ 1 & 0 \end{bmatrix}\begin{bmatrix} i_{d\; m} \\ i_{qm} \end{bmatrix}} \\ {= {{\begin{bmatrix} {R_{a} + {pL}_{d}} & {{- \omega}\; L_{m}} \\ {\omega\; L_{m}} & {R_{a} + {pL}_{d}} \end{bmatrix}\begin{bmatrix} i_{d\; m} \\ i_{q\; m} \end{bmatrix}} +}} \\ {\begin{bmatrix} 0 \\ {\;{E_{m} + {{\omega\left( {L_{q} - L_{m}} \right)}\; i_{d\; m}}}} \end{bmatrix}} \\ {= {{\begin{bmatrix} {R_{a} + {pL}_{d}} & {{- \omega}\; L_{m}} \\ {\omega\; L_{m}} & {R_{a} + {pL}_{d}} \end{bmatrix}\begin{bmatrix} i_{d\; m} \\ i_{q\; m} \end{bmatrix}} + \begin{bmatrix} 0 \\ E_{exm} \end{bmatrix}}} \end{matrix} & (36) \\ \begin{matrix} {E_{exm} = {{\left( {{\omega\left( {{\left( {L_{d} - L_{q}} \right)i_{d}} + \Phi_{a}} \right)} - {\left( {L_{d} - L_{q}} \right)\left( {pi}_{q} \right)}} \right)\cos\mspace{11mu}\theta_{m}} +}} \\ {{\omega\left( {L_{q} - L_{m}} \right)}i_{d\; m}} \\ {= {E_{m} + {{\omega\left( {L_{q} - L_{m}} \right)}i_{d\; m}}}} \end{matrix} & (37) \end{matrix}$

If there is an axial error Δθ_(m) between the γ-δ axes and the dm-qm axes, the equation (36) is modified as the following equation (38). More specifically, similarly to the modification of the equation (26) into the equation (28), the equation (36) on the dm-qm axes is converted into the equation on the γ-δ axes by the coordinate conversion, so that the equation (38) is obtained.

$\quad\begin{matrix} \begin{matrix} {\begin{bmatrix} v_{\gamma} \\ v_{\delta} \end{bmatrix} = {{\begin{bmatrix} {R_{a} + {pL}_{d}} & {{- \omega}\; L_{m}} \\ {\omega\; L_{m}} & {R_{a} + {pL}_{d}} \end{bmatrix}\begin{bmatrix} i_{\gamma} \\ i_{\delta} \end{bmatrix}} + {E_{exm}\begin{bmatrix} {{- \sin}\mspace{11mu}{\Delta\theta}_{m}} \\ {\cos\mspace{11mu}{\Delta\theta}_{m}} \end{bmatrix}} -}} \\ {\left( {p\;{\Delta\theta}_{m}} \right){L_{q}\begin{bmatrix} {- i_{\delta}} \\ i_{\gamma} \end{bmatrix}}} \end{matrix} & (38) \end{matrix}$

In addition, when the approximation of “pΔθ_(m)≈0, i_(dm)≈0” and “(L_(d)−L_(q))(pi_(q))≈0” hold, E_(exm) expressed in the equation (37) is approximated as the following equation (39).

$\quad{\quad\begin{matrix} \begin{matrix} {E_{exm} = {{\left( {{\omega\left( {{\left( {L_{d} - L_{q}} \right)i_{d}} + \Phi_{a}} \right)} - {\left( {L_{d} - L_{q}} \right)\left( {pi}_{q} \right)}} \right)\cos\mspace{11mu}\theta_{m}} +}} \\ {{\omega\left( {L_{q} - L_{m}} \right)}i_{d\; m}} \\ {\approx {{\left( {{\omega\left( {{\left( {L_{d} - L_{q}} \right)i_{\delta}\sin\mspace{11mu}\theta_{m}} + \Phi_{a}} \right)} - {\left( {L_{d} - L_{q}} \right)\left( {pi}_{q} \right)}} \right)\cos\mspace{11mu}\theta_{m}} +}} \\ {{\omega\left( {L_{q} - L_{m}} \right)}i_{d\; m}} \\ {\approx {{\omega\left( {{\left( {L_{d} - L_{q}} \right)i_{\delta}\sin\mspace{11mu}\theta_{m}} + \Phi_{a}} \right)}\cos\mspace{11mu}\theta_{m}}} \end{matrix} & (39) \end{matrix}}$

In addition, when “L_(m)=L_(q)+L_(q1)” is substituted into the above equation (32) so that the obtained equation is solved for θ_(m). Further, it is supposed that i_(δ)≈i_(qm), and then the following equation (40) is obtained. As expressed in the equation (40), θ_(m) is a function of i_(δ), so E_(exm) is also a function of i_(δ).

$\begin{matrix} {\theta_{m} = {\sin^{- 1}\left( \frac{\Phi_{a} - \sqrt{\Phi_{a}^{2} + {4\left( {L_{q} - L_{m}} \right)\left( {L_{q} - L_{d}} \right)i_{\delta}^{2}}}}{2{i_{\delta}\left( {L_{q} - L_{d}} \right)}} \right)}} & (40) \end{matrix}$

The relationship among E_(ex), E_(m) and E_(exm) will be described additionally with reference to FIG. 12. E_(ex), E_(m) and E_(exm) are considered as voltage vectors in the rotating coordinate system. In this case, E_(ex) can be called an extension induction voltage vector (an extended electromotive force vector). The extension induction voltage vector E_(ex) is an induction voltage vector on the q-axis. For consideration, the extension induction voltage vector E_(ex) is decomposed into an induction voltage vector on the qm-axis and an induction voltage vector on the dm-axis. As understood from the above equation (34), the induction voltage vector on the qm-axis obtained by this decomposition is E_(m). In addition, an induction voltage vector (E_(ex)·sin θ_(m)) on the dm-axis represented by the reference numeral 80 in FIG. 12 obtained by this decomposition is the voltage drop vector by the virtual inductance L_(q1).

As understood from a comparison between the equations (34) and (37), E_(exm) is what is obtained by adding ω(L_(q)−L_(m))i_(dm) to E_(m). Therefore, in the rotating coordinate system, E_(exm) is an induction voltage vector on the qm-axis similarly to E_(m). When the maximum torque control is performed, E_(exm) matches E_(m) substantially because i_(dm)≈0 as described above.

Next, magnetic fluxes corresponding to E_(ex), E_(m) and E_(exm) will be described additionally with reference to FIG. 12. E_(ex) is an induction voltage generated by Φ_(ex) that is a flux linkage of the motor 1 and a rotation of the motor 1 (see above equation (20)). On the contrary, Φ_(ex) can be calculated when E_(ex) is divided by ω (however, the transient term (the second term on the right-hand side) of E_(ex) of the equation (27) is ignored).

Supposing that Φ_(ex) is a flux linkage vector in the rotating coordinate system, the flux linkage vector Φ_(ex) is a flux linkage vector on the d-axis. For consideration, the flux linkage vector Φ_(ex) is decomposed into a flux linkage vector on the qm-axis and a flux linkage vector on the dm-axis. When the flux linkage vector on the dm-axis obtained by this decomposition is defined as Φ_(m), Φ_(m)=E_(m)/ω. In addition, a flux linkage vector (Φ_(ex)·sin θ_(m)) on the qm-axis represented by the reference numeral 81 in FIG. 12 obtained by this decomposition is the magnetic flux vector by the virtual inductance L_(q1).

Under the condition of “Φ_(exm)=E_(exm)/ω”, Φ_(exm) is what is obtained by adding (L_(q)−L_(m))i_(dm) to Φ_(m). Therefore, in the rotating coordinate system, Φ_(exm) is a flux linkage vector on the dm-axis similarly to Φ_(m). When the maximum torque control is performed, Φ_(exm) matches Φ_(m) substantially since i_(dm)≈0 as described above.

Next, an example of a specific motor drive system utilizing the above equations will be explained. FIG. 14 is a block diagram of the motor drive system showing an inside structure of the motor control device 3 a shown in FIG. 10. The motor control device 3 a includes a current detector 11, a coordinate converter 12, a subtracter 13, a subtracter 14, a current controller 15, a magnetic flux controller 16, a speed controller 17, a coordinate converter 18, a subtracter 19 and a position/speed estimator 40 (hereinafter referred to as an “estimator 40” simply). More specifically, the motor control device 3 a shown in FIG. 14 has a structure in which the estimator 20 in the motor control device 3 shown in FIG. 3 is replaced with the estimator 40. Each portion constituting the motor control device 3 a can use every value generated in the motor control device 3 a freely, if necessary.

The current detector 11 detects the U-phase current i_(u) and the V-phase current i_(v) that are fixed axis components of the motor current I_(a). The coordinate converter 12 receives detection results of the U-phase current i_(u) and the V-phase current i_(v) from the current detector 11 and converts them into the γ-axis current i_(γ) and the δ-axis current i_(δ) by using the estimated rotor position θ_(e) given by the estimator 40. This conversion process uses the above equation (3) similarly to the first embodiment.

The estimator 40 estimates the estimated rotor position θ_(e) and the estimated motor speed ω_(e) and outputs them. A method for specific estimation performed by the estimator 40 will be described later.

The subtracter 19 subtracts the estimated motor speed ω_(e) given by the estimator 40 from the specified motor speed value ω*, and the subtraction result (a speed error) is outputted. The speed controller 17 generates a specified δ-axis current value i_(δ)* based on the subtraction result (ω*−ω_(e)) from the subtracter 19. The magnetic flux controller 16 outputs a specified γ-axis current value i_(γ)*. This specified γ-axis current value i_(γ)* is set in the same manner as in the first embodiment described above. For example, i_(γ)* is set to a predetermined value of zero or close to zero.

The subtracter 13 subtracts the γ-axis current i_(γ) outputted by the coordinate converter 12 from the specified γ-axis current value i_(γ)* outputted by the magnetic flux controller 16 so as to calculate a current error (i_(γ)*−i_(γ)). The subtracter 14 subtracts the δ-axis current i_(δ) outputted by the coordinate converter 12 from the specified δ-axis current value i_(δ)* outputted by the speed controller 17 so as to calculate a current error (i_(δ)*−i_(δ)).

The current controller 15 receives current errors calculated by the subtracters 13 and 14, the γ-axis current i_(γ) and the δ-axis current i_(δ) from the coordinate converter 12 and the estimated motor speed ω_(e) from the estimator 40. Then, the current controller 15 outputs the specified γ-axis voltage value v_(γ)* and the specified δ-axis voltage value v_(δ)* so that the γ-axis current i_(γ) follows the specified γ-axis current value i_(γ)* and that the δ-axis current i_(δ) follows the specified δ-axis current value i_(δ)*.

The coordinate converter 18 performs inverse conversions of the specified γ-axis voltage value v_(γ)* and the specified δ-axis voltage value v_(δ)* based on the estimated rotor position θ_(e) given by the estimator 40, and it generates specified three-phase voltage values consisting of v_(u)*, v_(v)* and v_(w)* so as to output them to the PWM inverter 2. This inverse conversion uses the above equation (4) similarly to the first embodiment. The PWM inverter 2 supplies the motor 1 with the motor current I_(a) corresponding to the specified three-phase voltage values for driving the motor 1.

FIG. 15 shows an example of an inside structure of the estimator 40. The estimator 40 shown in FIG. 15 includes an axial error estimator 41, a proportional-plus-integral calculator 42 and an integrator 43. The proportional-plus-integral calculator 42 and the integrator 43 are respectively similar to the proportional-plus-integral calculator 31 and the integrator 32 shown in FIG. 4.

The axial error estimator 41 calculates an axial error Δθ_(m) by using a whole or a part of values of v_(γ)*, v_(δ)*, i_(γ) and i_(δ). The proportional-plus-integral calculator 42 performs a proportional plus integral control in cooperation with each portion constituting the motor control device 3 a for realizing a PLL (Phase Locked Loop), and it calculates the estimated motor speed ω_(e) so that the axial error Δθ_(m) calculated by the axial error estimator 41 converges to zero. The integrator 43 integrates the estimated motor speed ω_(e) outputted by the proportional-plus-integral calculator 42 so as to calculate the estimated rotor position θ_(e). The estimated motor speed ω_(e) outputted by the proportional-plus-integral calculator 42 and the estimated rotor position θ_(e) outputted by the integrator 43 are imparted to each portion of the motor control device 3 a that needs the values as output values of the estimator 40.

As a method for calculating the axial error Δθ_(m) by the axial error estimator 41, various calculation methods can be used. Hereinafter, as a method for calculating the axial error Δθ_(m) by the axial error estimator 41 (in other words, as a method for calculating θ_(e) by the estimator 40), a first, a second, a third, a fourth and a fifth calculation methods will be exemplified.

Note that, when the equations described in this specification are used, the axial error estimator 41 uses values of v_(γ)*, v_(δ)* and ω_(e) as values of v_(γ), v_(δ) and ω in the equations, respectively. In addition, contents described in each calculation method (a method for determining a value of L_(m) or the like) can be applied to every other calculation method and every other embodiment that will be described later.

[First Calculation Method]

To begin with, a first calculation method of the axial error Δθ_(m) will be described. In the first calculation method, the induction voltage E_(ex) generated in the motor 1 is decomposed into an induction voltage vector on the qm-axis and an induction voltage vector on the dm-axis for consideration. Then, a induction voltage vector E_(exm) that is the induction voltage vector on the qm-axis (≈E_(m), see FIG. 12) is used for calculating the axial error Δθ_(m), thereby a phase (θ_(e)) of the γ-axis that is an estimated axis for the control is calculated (i.e., a rotor position is estimated).

When the γ-axis component and the δ-axis component of the induction voltage vector E_(exm) are denoted by E_(exmγ) and E_(exmδ) respectively, the equation “Δθ_(m)=tan⁻¹(−E_(exmγ)/E_(exmδ))” holds as understood from FIG. 12. Then, using a result of deformation of the first and the second row of the above matrix equation (38), Δθ_(m) is expressed as the following equation (41) (here, the third term on the right-hand side of the matrix equation (38) is ignored). Note that, by supposing that Δθ_(m) is small, the approximation “tan⁻¹(−E_(exmγ)/E_(exmδ))≈(−E_(exmγ)/E_(exmδ))” is finally used in the equation (41).

$\quad\begin{matrix} \begin{matrix} {{\mspace{11mu}\theta_{m}} = {\tan^{- 1}\frac{- E_{{exm}\;\gamma}}{E_{{exm}\;\delta}}}} \\ {= {\tan^{- 1}\frac{- \left( {v_{\gamma} - {\left( {R_{a} + {pL}_{d}} \right)i_{\gamma}} + {\omega\; L_{m}i_{\delta}}} \right)}{v_{\delta} - {\left( {R_{a} + {pL}_{d}} \right)i_{\delta}} - {\omega\; L_{m}i_{\gamma}}}}} \\ {\approx {- \frac{v_{\gamma} - {\left( {R_{a} + {pL}_{d}} \right)i_{\gamma}} + {\omega\; L_{m}i_{\delta}}}{v_{\delta} - {\left( {R_{a} + {pL}_{d}} \right)i_{\delta}} - {\omega\; L_{m}i_{\gamma}}}}} \end{matrix} & (41) \end{matrix}$

The axial error estimator 41 can ignore differential terms pL_(d)i_(γ) and pL_(d)i_(δ) when it calculates Δθ_(m) by using the equation (41). In addition, the following equation (42) is used for calculating a value of L_(m) that is necessary for calculating Δθ_(m). The equation “i_(dm)=0” and the following equations (43) and (44) are substituted into the above equation (32), and the obtained equation is solved for L_(q1). The result is used for obtaining the equation (42).

$\quad\begin{matrix} \begin{matrix} {L_{m} = {L_{q} + L_{q\; 1}}} \\ {= {L_{q} + \frac{i_{d}\left\{ {\Phi_{a} + {\left( {L_{d} - L_{q}} \right)i_{d}}} \right\}}{i_{d}^{2} + i_{q}^{2}}}} \end{matrix} & (42) \\ {i_{qm} = \sqrt{i_{d}^{2} + i_{q}^{2}}} & (43) \\ {{\sin\mspace{11mu}\theta_{m}} = \frac{i_{d}}{\sqrt{i_{d}^{2} + i_{q}^{2}}}} & (44) \end{matrix}$

In addition, the equation (45) of the d-axis current i_(d) matching the maximum torque control and the equation (43) that is a relationship equation (an approximated equation) among i_(d), i_(q) and i_(qm) are used for deforming the above equation (42). Then, L_(m) becomes a function of i_(qm) (i.e., i_(d) and i_(q) are eliminated from the calculation equation of L_(m)). Therefore, the axial error estimator 41 can calculate a value of L_(m) that is expressed in a function of i_(qm) based on i_(δ) when the equation “i_(δ)≈i_(qm)” is supposed. Then, the calculated value of L_(m) is used for calculating axial error Δθ_(m) from the equation (41).

$\begin{matrix} {i_{d} = {\frac{\Phi_{a}}{2\left( {L_{q} - L_{d}} \right)} - \sqrt{\frac{\Phi_{a}^{2}}{4\left( {L_{q} - L_{d}} \right)^{2}} + i_{q}^{2}}}} & (45) \end{matrix}$

It is possible to assume that i_(δ)≈i_(qm) so that a value of L_(m) is obtained by utilizing an approximate expression in which L_(m) is expressed as a function of i_(δ). Alternatively, it is possible to prepare values of L_(m) corresponding to i_(δ) as table data in advance, so that a value of L_(m) is obtained by referring to the table data.

FIG. 16 shows a graph indicating dependence of L_(d), L_(q) and L_(m) on i_(qm) under an example of certain values (supposing i_(γ)*≈0). As shown in FIG. 16, a value of L_(m) depends on i_(qm) in such a way that it increases as i_(qm) increases. L_(m) that is defined in this embodiment corresponds to the operation parameter L in the first embodiment. It is understood that a value of L_(m) matching the maximum torque control exists on the fairly L_(d) side from L_(q) similarly to L (see FIGS. 5 and 7 and others).

A value of L_(m) is determined so as to satisfy the following inequality (46) or (47) accordingly, in the same manner as in the first embodiment. Thus, the motor control device 3 a in this embodiment can realize a control similar to the maximum torque control by generating a deviation purposely between the d-axis and the γ-axis similarly to the first embodiment and by setting i_(γ)*≈0. L _(d) ≦L _(m) <L _(q)   (46) L _(d) ≦L _(m)<(L _(d) +L _(q))/2   (47)

In addition, L_(m) may have a fixed value. More specifically, it is possible to adopt a fixed value regardless of a value of i_(δ) as a value of L_(m). A relationship between the d-axis current i_(d) and the q-axis current i_(q) when L_(m) is a predetermined fixed value is shown by the solid fine 83 in FIG. 17. A broken line 84 is a curve showing the relationship between the d-axis current i_(d) and the q-axis current i_(q) when the maximum torque control is performed in an ideal manner. The solid line 83 and the broken line 84 shows curves that are very similar to each other as understood from FIG. 17.

[Second Calculation Method]

Next, a second calculation method of the axial error Δθ_(m) will be described. In the second calculation method too, similarly to the above first calculation method, the induction voltage vector E_(exm) is used for calculating the axial error Δθ_(m), thereby a phase (θ_(e)) of the γ-axis that is an estimated axis for the control is calculated (i.e., a rotor position is estimated). However, in the second calculation method, the δ-axis component E_(exmδ) of the induction voltage vector E_(exm) is not used. More specifically, the following equation (48) is used for calculating the axial error Δθ_(m). Note that, by supposing that Δθ_(m) is small, the approximation “sin⁻¹(−E_(exmγ)/E_(exm))≈(−E_(exmγ)/E_(exm))” is finally used in the equation (48).

$\quad\begin{matrix} \begin{matrix} {{\theta_{m}} = {\sin^{- 1}\left( \frac{- E_{{exm}\;\gamma}}{E_{exm}} \right)}} \\ {= {\sin^{- 1}\frac{- \left( {v_{\gamma} - {\left( {R_{a} + {pL}_{d}} \right)i_{\gamma}} + {\omega\; L_{m}i_{\delta}}} \right)}{E_{exm}}}} \\ {\approx \frac{v_{\gamma} - {\left( {R_{a} + {pL}_{d}} \right)i_{\gamma}} + {\omega\; L_{m}i_{\delta}}}{E_{exm}}} \end{matrix} & (48) \end{matrix}$

The axial error estimator 41 can ignore the differential term pL_(d)i_(γ) when calculating the Δθ_(m), by using the equation (48). In addition, a value of L_(m) is determined by the method similar to the method in the first calculation method.

The above equation (39) is used for calculating E_(exm) in the equation (48). As an approximate expression for calculating E_(exm), the following equation (49), (50) or (51) can be used, for example. The equation (49) is an approximate expression of the equation (37) using an approximation “pΔθ_(m)≈0, i_(dm)≈0, and (L_(d)−L_(q))(pi_(q))≈0”, and the equation (50) is an approximate expression of the equation (49) further using an approximation “cos θ_(m)≈1”, and the equation (51) is an approximate expression of the equation (50) further using an approximation “(L_(d)−L_(q))i_(δ) sin θ_(m)<<Φ_(a)”. Note that ω_(e) is used as a value of ω when the equation (49), (50) or (51) is used. E _(exm)≈ω((L _(d) −L _(q))i _(δ) sin θ_(m)+Φ_(a))cosθ_(m)   (49) E _(exm)≈ω((L _(d) −L _(q))i _(δ) sin θ_(m)+Φ_(a))   (50) E _(exm)≈ωΦ_(a)   (51)

In order to calculate θ_(m) included in the equation (49) or the like, the above equation (40) is used. As understood from the equation (40), θ_(m) is a function of i_(δ), and E_(exm) is also a function of i_(δ). Since the calculation of E_(exm) is complicated, it is desirable to use an approximate expression for the calculation. In addition, it is also preferable to prepare values of E_(exm) corresponding to i_(δ) as table data in advance so that a value of E_(exm) can be obtained by referring to the table data.

[Third Calculation Method]

Next, a third calculation method of the axial error Δθ_(m) will be described. In the third calculation method, a flux linkage Φ_(ex) that has linkage with the armature winding of the motor 1 is decomposed into a flux linkage vector on the qm-axis and a flux linkage vector on the dm-axis for consideration. Then, a flux linkage vector Φ_(exm) (≈Φ_(m), see FIG. 12) that is the flux linkage vector on the dm-axis is used for calculating the axial error Δθ_(m), thereby a phase (θ_(e)) of the γ-axis that is an estimated axis for the control is calculated (i.e., a rotor position is estimated).

When the γ-axis component and the δ-axis component of the flux linkage vector Φ_(exm) are denoted by Φ_(exmγ) and Φ_(exmδ) respectively, the equation “Δθ_(m)=tan⁻¹(−Φ_(exmδ)/Φ_(exmγ))” holds as understood from FIG. 12. Since Φ_(exm) is obtained by dividing E_(exm) by ω, Δθ_(m) can be expressed as the following equation (52). Note that, by supposing that Δθ_(m) is small, the approximation “tan⁻¹(−Φ_(exmδ)/Φ_(exmγ))≈(−Φ_(exmδ)/Φ_(exmγ))” is finally used in the equation (52).

$\quad\begin{matrix} \begin{matrix} {{\theta_{m}} = {\tan^{- 1}\frac{- \Phi_{{exm}\;\delta}}{\Phi_{{exm}\;\gamma}}}} \\ {= {\tan^{- 1}\frac{- \left( {\frac{v_{\gamma} - {\left( {R_{a} + {pL}_{d}} \right)i_{\gamma}}}{\omega} + {L_{m}i_{\delta}}} \right)}{\frac{{v_{\delta}\left( {R_{a} + {pL}_{d}} \right)}i_{\delta}}{\omega} - {L_{m}i_{\gamma}}}}} \\ {\approx {- \frac{\frac{v_{\gamma} - {\left( {R_{a} + {pL}_{d}} \right)i_{\gamma}}}{\omega} + {L_{m}i_{\delta}}}{\frac{v_{\delta} - {\left( {R_{a} + {pL}_{d}} \right)i_{\delta}}}{\omega} - {L_{m}i_{\gamma}}}}} \end{matrix} & (52) \end{matrix}$

The axial error estimator 41 can ignore differential terms pL_(d)i_(γ) and pL_(d)i_(δ) when it calculates Δθ_(m) by using the equation (52). In addition, a value of L_(m) is determined by the method similar to the method in the first calculation method.

[Fourth Calculation Method]

Next, a fourth calculation method of the axial error Δθ_(m) will be described. In the fourth calculation method too, similarly to the third calculation method, the flux linkage vector Φ_(exm) is used for calculating the axial error Δθ_(m), thereby a phase (θ_(e)) of the γ-axis that is an estimated axis for the control is calculated (i.e., a rotor position is estimated). In the fourth calculation method, however, the γ-axis component Φ_(exmγ) of the flux linkage vector Φ_(exm) is not used. More specifically, the following equation (53) is used for calculating the axial error Δθ_(m). Note that, by supposing that Δθ_(m) is small, the approximation “sin⁻¹(−Φ_(exmδ)/Φ_(exm)≈(−Φ) _(exmδ)/Φ_(exm))” is finally used in the equation (53).

$\quad\begin{matrix} \begin{matrix} {{\theta_{m}} = {\sin^{- 1}\left( \frac{- \Phi_{{exm}\;\delta}}{\Phi_{exm}} \right)}} \\ {= {\sin^{- 1}\frac{- \left( {\frac{v_{\gamma} - {\left( {R_{a} + {pL}_{d}} \right)i_{\gamma}}}{\omega} + {L_{m}i_{\delta}}} \right)}{\Phi_{exm}}}} \\ {\approx \frac{- \left( {\frac{v_{\gamma} - {\left( {R_{a} + {pL}_{d}} \right)i_{\gamma}}}{\omega} + {L_{m}i_{\delta}}} \right)}{\Phi_{exm}}} \end{matrix} & (53) \end{matrix}$

The axial error estimator 41 can ignore the differential term pL_(d)i_(γ) when it calculates Δθ_(m) by using the equation (53). In addition, a value of L_(m) is determined by the method similar to the method in the first calculation method.

In order to calculate Φ_(exm) in the equation (53), an equation obtained by dividing both sides of the above equation (39) by ω is used. As an approximate expression for calculating Φ_(exm), the following equation (54), (55) or (56) can be used, for example. The following equation (54), (55) and (56) are obtained by dividing both sides of the equation (49), (50) and (51) by ω, respectively. Note that ω_(e) is used as a value of 0) when the equation (54), (55) or (56) is used. Φ_(exm)≈((L _(d) −L _(q))i _(δ) sin θ_(m)+Φ_(a))cos θ_(m)   (54) Φ_(exm)≈((L _(d) −L _(q))i _(δ) sin θ_(m)+Φ_(a))   (55) Φ_(exm)≈Φ_(a)   (56)

In order to calculate θ_(m) included in the equation (54) and others, the above equation (40) is used. As understood from the equation (40), θ_(m) is a function of i_(δ), so Φ_(exm) is also a function of i_(δ). Since the calculation of Φ_(exm) is complicated, it is desirable to use an appropriate approximate expression for the calculation. In addition, it is also preferable to prepare values of Φ_(exm) corresponding to i_(δ) as table data in advance so that a value of Φ_(exm) can be obtained by referring to the table data.

Setting K(i_(δ))=1/Φ_(exm) while regarding K(i_(δ)) as a correction coefficient, the inside structure of the axial error estimator 41 in the fourth calculation method becomes as shown in FIG. 18. In addition, instead of using the correction coefficient K(i_(δ)), it is possible to change gains (constants of proportionality (proportional gains) or constants of integration (integral gains)) that are used in the proportional-plus-integral calculator 42 in accordance with a value of i_(δ).

[Fifth Calculation Method]

Next, a fifth calculation method of the axial error Δθ_(m) will be described. In the fifth calculation method, error current between current on the dm-qm axes (current in a motor model) and current on the γ-δ axes is used for calculating the axial error Δθ_(m), thereby a phase (θ_(e)) of the γ-axis that is an estimated axis for the control is calculated (i.e., a rotor position is estimated).

This method will be described with reference to equations. First, the third term on the right-hand side of the above equation (38) is ignored. Then, the following equation (57) is obtained.

$\quad\begin{matrix} \begin{matrix} {\begin{bmatrix} {\; v_{\;\gamma}} \\ {\; v_{\;\delta}} \end{bmatrix} = {{\begin{bmatrix} {R_{\; a} + {pL}_{d}} & {{- \omega}\; L_{m}} \\ {\omega\; L_{m}} & {R_{a} + {pL}_{d}} \end{bmatrix}\begin{bmatrix} i_{\gamma} \\ i_{\delta} \end{bmatrix}} + {E_{exm}\begin{bmatrix} {{- \sin}\;\Delta\;\theta_{m}} \\ {\cos\;{\Delta\theta}_{m}} \end{bmatrix}}}} \\ {= {{\begin{bmatrix} {R_{a} + {pL}_{d}} & {{- \omega}\; L_{m}} \\ {\omega\; L_{m}} & {R_{a} + {pL}_{d}} \end{bmatrix}\begin{bmatrix} i_{\gamma} \\ i_{\delta} \end{bmatrix}} + \begin{bmatrix} E_{{exm}\;\gamma} \\ E_{{exm}\;\delta} \end{bmatrix}}} \end{matrix} & (57) \end{matrix}$

Performing discretization with a sampling period T_(s), the equation (57) are expressed as the following equation (58).

$\begin{matrix} {\begin{bmatrix} {i_{\gamma}(n)} \\ {i_{\delta}(n)} \end{bmatrix} = {{\begin{bmatrix} {1 - {\frac{R_{a}}{L_{d}}T_{s}}} & {{\omega\left( {n - 1} \right)}\frac{L_{m}}{L_{d}}T_{s}} \\ {{- {\omega\left( {n - 1} \right)}}\frac{L_{m}}{L_{d}}T_{s}} & {1 - {\frac{R_{a}}{L_{d}}T_{s}}} \end{bmatrix}\begin{bmatrix} {i_{\gamma}\left( {n - 1} \right)} \\ {i_{\delta}\left( {n - 1} \right)} \end{bmatrix}} + {\frac{T_{s}}{L_{d}}\begin{bmatrix} {v_{\gamma}\left( {n - 1} \right)} \\ {v_{\delta}\left( {n - 1} \right)} \end{bmatrix}} - {\frac{T_{s}}{L_{d}}\begin{bmatrix} {E_{{exm}\;\gamma}\left( {n - 1} \right)} \\ {E_{{exm}\;\delta}\left( {n - 1} \right)} \end{bmatrix}}}} & (58) \end{matrix}$

On the other hand, the estimated currents i_(Mγ) and i_(Mδ) obtained by calculation in the axial error estimator 41 are expressed as the following equation (59) by using the estimated induction voltages E_(Mexmγ) and E_(Mexmδ) obtained by model calculation of E_(exmγ) and E_(exmδ).

$\begin{matrix} {\begin{bmatrix} {i_{M\;\gamma}(n)} \\ {i_{M\;\delta}(n)} \end{bmatrix} = {{\begin{bmatrix} {1\; - \;{\frac{R_{a}}{L_{d}}\; T_{s}}} & {{\omega\left( {n\; - \; 1} \right)}\;\frac{L_{m}}{L_{d}}\; T_{s}} \\ {{- {\omega\left( {n\; - \; 1} \right)}}\;\frac{L_{m}}{L_{d}}\; T_{s}} & {1\; - \;{\frac{R_{a}}{L_{d}}\; T_{s}}} \end{bmatrix}\begin{bmatrix} {i_{\gamma}\left( {n\; - \; 1} \right)} \\ {i_{\delta}\left( {n\; - \; 1} \right)} \end{bmatrix}} + {\frac{T_{s}}{L_{d}}\begin{bmatrix} {v_{\gamma}\left( {n - 1} \right)} \\ {v_{\delta}\left( {n - 1} \right)} \end{bmatrix}} - {\frac{T_{s}}{L_{d}}\begin{bmatrix} {E_{{Mexm}\;\gamma}\left( {n - 1} \right)} \\ {E_{{Mexm}\;\delta}\left( {n - 1} \right)} \end{bmatrix}}}} & (59) \end{matrix}$

The axial error estimator 41 calculates estimated induction voltages E_(Mexmγ) and E_(Mexmδ) as estimated values of E_(exmγ) and E_(exmδ), respectively. In addition, since the estimated currents i_(Mγ) and i_(Mδ) are calculated by using L_(m) instead of L_(q), the estimated currents i_(Mγ) and i_(Mδ) can be regarded as currents obtained by estimating the dm-axis component and the qm-axis component of the motor current I_(a), respectively.

The error current Δi_(γ) (or Δi_(δ)) that is a difference between the current i_(γ) (or i_(δ)) based on the fixed axis components (i_(u) and i_(v)) of the motor current I_(a) detected by the current detector 11 and the estimated current i_(Mγ) (or i_(Mδ)) obtained by calculation is expressed in the following equation (60) derived from the equation (58) and (59).

$\quad\begin{matrix} \begin{matrix} {\begin{bmatrix} {\Delta\;{i_{\gamma}(n)}} \\ {\Delta\;{i_{\delta}(n)}} \end{bmatrix} = {\begin{bmatrix} {i_{\gamma}(n)} \\ {i_{\delta}(n)} \end{bmatrix} - \begin{bmatrix} {i_{M\;\gamma}(n)} \\ {i_{M\;\delta}(n)} \end{bmatrix}}} \\ {= {- {\frac{T_{s}}{L_{d}}\begin{bmatrix} {{E_{{exm}\;\gamma}\left( {n - 1} \right)} - {E_{{Mexm}\;\gamma}\left( {n - 1} \right)}} \\ {{E_{{exm}\;\delta}\left( {n - 1} \right)} - {E_{{Mexm}\;\delta}\left( {n - 1} \right)}} \end{bmatrix}}}} \\ {= {- {\frac{T_{s}}{L_{d}}\begin{bmatrix} {\Delta\;{E_{{exm}\;\gamma}\left( {n - 1} \right)}} \\ {\Delta\;{E_{{exm}\;\delta}\left( {n - 1} \right)}} \end{bmatrix}}}} \end{matrix} & (60) \end{matrix}$

Here, ΔE_(exmγ) is an error between an induction voltage E_(exmγ) and an estimated induction voltage E_(Mexmγ) that is an estimated value of the induction voltage E_(exmγ), while ΔE_(exmδ) is error between an induction voltage E_(exmδ) and an estimated induction voltage E_(Mexmδ) that is an estimated value of the induction voltage E_(exmδ).

As understood from the equation (60), an error of the estimated value of the induction voltage (ΔE_(exmγ) or the like) and the error current (Δi_(γ) or the like) are proportional to each other. For this reason, the error of the estimated value of the induction voltage can be converged by using the error current. More specifically, it is possible to use the estimated induction voltages E_(Mexmγ) and E_(Mexmδ) as those obtained by estimating the induction voltages E_(exmγ) and E_(exmδ) correctly (the induction voltage can be estimated correctly).

Specifically, the estimated induction voltage of this time is calculated by using the previous estimated induction voltage and the previous estimation error. More specifically, the estimated induction voltages E_(Mexmγ) and E_(Mexmδ) are calculated sequentially by using the following equation (61). Here, g is a feedback gain for converging the error of the estimated value of the induction voltage.

$\quad\begin{matrix} \begin{matrix} {\begin{bmatrix} {E_{{Mexm}\;\gamma}(n)} \\ {E_{{Mexm}\;\delta}(n)} \end{bmatrix} = {\begin{bmatrix} {E_{{Mexm}\;\gamma}\left( {n - 1} \right)} \\ {E_{{Mexm}\;\delta}\left( {n - 1} \right)} \end{bmatrix} + {g\begin{bmatrix} {\Delta\;{E_{{exm}\;\gamma}\left( {n - 1} \right)}} \\ {\Delta\;{E_{{exm}\;\delta}\left( {n - 1} \right)}} \end{bmatrix}}}} \\ {= {\begin{bmatrix} {E_{{Mexm}\;\gamma}\left( {n - 1} \right)} \\ {E_{{Mexm}\;\delta}\left( {n - 1} \right)} \end{bmatrix} - {\frac{g \cdot L_{d}}{T_{s}}\begin{bmatrix} {\Delta\;{i_{\gamma}(n)}} \\ {\Delta\;{i_{\delta}(n)}} \end{bmatrix}}}} \end{matrix} & (61) \end{matrix}$

Then, similarly to the above first or second calculation method, the axial error estimator 41 calculates the axial error Δθ_(m) by using the following equation (62) or (63).

$\begin{matrix} {{\Delta\;\theta_{m}} = {{\tan^{- 1}\frac{- {E_{{Mexm}\;\gamma}(n)}}{E_{{Mexm}\;\delta}(n)}} \approx \frac{- {E_{{Mexm}\;\gamma}(n)}}{E_{{Mexm}\;\delta}(n)}}} & (62) \\ {{\Delta\;\theta_{m}} = {{\sin^{- 1}\frac{- {E_{{Mexm}\;\gamma}(n)}}{E_{exm}}} \approx \frac{- {E_{{Mexm}\;\gamma}(n)}}{E_{exm}}}} & (63) \end{matrix}$

Note that in the equations (58) through (63), the symbol (n or n-1) in parentheses indicates a sampling timing when the discretization is performed at the sampling period T_(s), and n denotes a natural number, which indicates a sampling timing after (n-1). Each portion constituting the motor control device 3 a calculates and outputs each value sequentially every sampling period T_(s). Specifically, for example, i_(γ)(n) and i_(δ)(n) indicate i_(γ) and i_(δ) at n-th sampling timing, while i_(γ)(n-1) and i_(δ)(n-1) indicate i_(γ) and i_(δ) at (n-1)th sampling timing. This is the same for other than i_(γ) and i_(δ).

As described above, in this embodiment, the axial error Δθ_(m) is converged to zero so that the γ-axis follows the dm-axis. As a result, i_(γ) and i_(δ) follows i_(dm) and i_(qm), respectively. In other words, the motor control device 3 a performs drive and control of the motor 1 by decomposing the current flowing in the motor 1 into the qm-axis component and the dm-axis component. The effect obtained by this decomposition is as described above.

Third Embodiment

In addition, it is possible to modify the structure of the motor control device 3 a shown in FIG. 14 like the motor control device 3 b shown in FIG. 19. The embodiment after this modification is a third embodiment of the present invention. The motor control device 3 b has a structure in which the estimator 40 of the motor control device 3 a in FIG. 14 is replaced with a position/speed estimator 45 (hereinafter referred to as an estimator 45 simply), a θ_(m) calculator 46 and a computing unit 47. Except for this replacement, the motor control device 3 b and the motor drive system in FIG. 19 are similar to the motor control device 3 a and the motor drive system in FIG. 14. Description of structures and operations of the similar parts will be omitted.

The estimator 45 estimates a phase of the d-axis viewed from the U-phase by using the i_(γ), i_(δ), v_(γ)* and v_(δ)*, and it outputs the estimated value as θ_(dqe). In addition, the estimator 45 calculates the estimated motor speed ω_(e) similarly to the estimator 40 in the second embodiment. If the estimated motor speed ω_(e) outputted by the estimator 45 is obtained by differentiating θ_(dqe), the obtained estimated motor speed ω_(e) should be actually called an estimated value of the rotation speed of the d-axis. However, in a steady state, the estimated value can be regarded to be the same as ω_(e) that is the rotation speed of the γ-axis.

A θ_(m) calculator 46 uses i_(δ)* from the speed controller 17 as i_(δ) in the above equation (40) while it calculates θ_(m) by using the above equation (40). In this case, it is possible to prepare values of θ_(m) corresponding to i_(δ)* as table data in advance, so that a value of θ_(m) is obtained by referring to the table data.

The computing unit 47 calculates θ_(e) by using θ_(dqe) outputted by the estimator 45 and θ_(m) outputted by the θ_(m) calculator 46, and the calculated θ_(e) is imparted to coordinate converters 12 and 18.

In this way, in the third embodiment, the portion including the estimator 45, the θ_(m) calculator 46 and the computing unit 47 calculates a phase (θ_(e)) of the γ-axis that is an estimated axis for the control. The structure of the third embodiment can obtain the same action and effect as the second embodiment.

Fourth Embodiment

Although the first through the third embodiments adopt the method of estimating a rotor position by using the estimator, it is possible to detect a real rotor position. More specifically, it is possible to use a motor control device 3 c shown in FIG. 20 instead of the motor control device shown in FIG. 3, 14 or 19.

A motor drive system including the motor control device 3 c shown in FIG. 20 will be described as a fourth embodiment of the present invention. FIG. 20 is a block diagram showing a structure of the motor drive system according to the fourth embodiment. The motor drive system includes a motor 1, an inverter 2 and a motor control device 3 c.

The motor control device 3 c includes a current detector 11, a coordinate converter 12, a subtracter 13, a subtracter 14, a current controller 15, a magnetic flux controller 16, a speed controller 17, a coordinate converter 18, a subtracter 19, a position detector 50, a differentiator 51, a θ_(m) calculator 52 and a computing unit 53. In other words, the motor control device 3 c has a structure in which the estimator 40 shown in FIG. 14 is replaced with the position detector 50, the differentiator 51, the θ_(m) calculator 52 and the computing unit 53. Except for this replacement, the motor control device 3 c and the motor drive system shown in FIG. 20 is similar to the motor control device 3 a and the motor drive system shown in FIG. 14. Each portion of the motor control device 3 c can use every value generated in the motor control device 3 c freely, if necessary.

Each portion inside the motor control device 3 c works not based on an estimated rotor position but based on a detected real rotor position, so γ and δ in the second embodiment are replaced with dm and qm in this embodiment for consideration.

The position detector 50 is made up of a rotary encoder or the like, which detects a real rotor position θ of the motor 1 and imparts the value to the differentiator 51 and the computing unit 53. The differentiator 51 differentiates the real rotor position θ so as to calculate the real motor speed ω and imparts the value to the subtracter 19, the magnetic flux controller 16 and the current controller 15.

Note that in the steady state the real motor speed ω and the rotation speed of the dm-qm axes can be considered to be the same as each other. Although an input value of the differentiator 51 is θ, it may be an output value θ_(dm) of the computing unit 53 instead of θ.

The speed controller 17 generates a specified qm-axis current value i_(qm)* to be followed by the qm-axis current i_(qm) based on the subtraction result (ω*−ω) of the subtracter 19. The magnetic flux controller 16 outputs a specified dm-axis current value i_(dm)* to be followed by the dm-axis current i_(dm). This specified dm-axis current value i_(dm)* is set similarly to the second embodiment. More specifically, i_(dm)* is set to be a predetermined value of zero or close to zero.

The subtracter 13 subtracts i_(dm) outputted by the coordinate converter 12 from i_(dm)* outputted by the magnetic flux controller 16 so as to calculate the current error (i_(dm)*−i_(dm)). The subtracter 14 subtracts i_(qm) outputted by the coordinate converter 12 from i_(qm)* outputted by the speed controller 17 so as to calculate the current error (i_(qm)*−i_(qm)).

The current controller 15 receives the current errors calculated by the subtracters 13 and 14, i_(dm) and i_(qm) from the coordinate converter 12 and the real motor speed ω from the differentiator 51. Then the current controller 15 outputs a specified dm-axis voltage value v_(dm)* to be followed by v_(dm) and a specified qm-axis voltage value v_(qm)* to be followed by v_(qm), so that i_(dm) follows i_(dm)*, and i_(qm) follows i_(qm)*.

The θ_(m) calculator 52 utilizes i_(qm)* from the speed controller 17 as i_(δ) in the above equation (40) and calculates θ_(m) by using the above equation (40). In this case, it is possible to prepare values of θ_(m) corresponding to i_(qm)* (i_(δ)*) as table data in advance, so that a value of θ_(m) is obtained by referring to the table data.

The computing unit 53 calculates a phase θ_(dm) of the dm-axis viewed from the U-phase by using θ detected by the position detector 50 and θ_(m) calculated by the θ_(m) calculator 52, and the calculated θ_(dm) is imparted to the coordinate converters 12 and 18.

The coordinate converter 18 converts v_(dm)* and v_(qm)* into the specified three-phase voltage values consisting of v_(u)*, v_(v)* and v_(w)* based on the given θ_(dm), and the value obtained by the conversion is outputted to the PWM inverter 2. The PWM inverter 2 supplies the motor 1 with the motor current I_(a) corresponding to the specified three-phase voltage values so as to drive the motor 1.

The structure of the fourth embodiment can obtain the same action and effect as the second embodiment.

Fifth Embodiment

Since the sensor-less controls described in the second and the third embodiments (FIGS. 14 and 19) are controls based on the generated induction voltage or the like, they are useful particularly when the motor 1 rotates at a high speed. However, in a low speed rotation, accuracy of the estimation is not always sufficient. In addition, it cannot be used when the rotation is stopped. As a fifth embodiment, a sensor-less control based on the dm-qm axes will be described. The control works effectively in particular at a low speed rotation or when the rotation is stopped.

FIG. 24 is a block diagram of a motor control device 3 d according to the fifth embodiment. The motor control device 3 d includes a current detector 11, a coordinate converter 12, a subtracter 13, a subtracter 14, a current controller 15, a magnetic flux controller 16, a speed controller 17, a coordinate converter 18, a subtracter 19, a position/speed estimator 200 (hereinafter referred to an “estimator 200” simply), a superposed voltage generator 201, an adder 202 and an adder 203. Each portion of the motor control device 3 d can use every value generated in the motor control device 3 d freely, if necessary.

The motor control device 3 d is similar to motor control device 3 a shown in FIG. 14 except that the superposed voltage generator 201 and the adders 202 and 203 are newly added and that the estimator 40 of the motor control device 3 a shown in FIG. 14 is replaced with the estimator 200 in the motor control device 3 d. Note that the contents described in the second embodiment are applied to this embodiment as long as there is no conflict.

The estimator 200 estimates the estimated rotor position θ_(e) and the estimated motor speed ω_(e) so as to output them. A specific estimation method performed by the estimator 200 will be described later. The coordinate converter 12 converts the U-phase current i_(u) and the V-phase current i_(v) detected by the current detector 11 into the γ-axis current i_(γ) and the δ-axis current i_(δ) by using the estimated rotor position θ_(e) given by the estimator 200.

The subtracter 19 subtracts the estimated motor speed ω_(e) given by the estimator 200 from the specified motor speed value ω*, and the subtraction result (a speed error) is outputted. The speed controller 17 generates the specified δ-axis current value i_(δ)* based on the subtraction result (ω*−ω_(e)) of the subtracter 19. The magnetic flux controller 16 outputs the specified γ-axis current value i_(γ)*. This specified γ-axis current value i_(γ)* is set similarly to the first embodiment or the like. For example, i_(γ)* is set to a predetermined value of zero or close to zero.

The subtracter 13 subtracts the γ-axis current i_(γ) outputted by the coordinate converter 12 from the specified γ-axis current value i_(γ)* outputted by the magnetic flux controller 16, so as to calculate the current error (i_(γ)*−i_(γ)). The subtracter 14 subtracts the δ-axis current i_(δ) outputted by the coordinate converter 12 from the specified δ-axis current value i_(δ)* outputted by the speed controller 17, so as to calculate the current error (i_(δ)*−i_(δ)).

The current controller 15 receives the current errors calculated by the subtracters 13 and 14, the γ-axis current i_(γ) and the δ-axis current i_(δ) from the coordinate converter 12 and the estimated motor speed ω_(e) from the estimator 200. Then, the current controller 15 outputs the specified γ-axis voltage value v_(γ)* and the specified δ-axis voltage value v_(δ)*, so that the γ-axis current i_(γ) follows the specified γ-axis current value i_(γ)*, and the δ-axis current i_(δ) follows the specified δ-axis current value i_(δ)*.

The superposed voltage generator 201 generates a superposed voltage that is superposed on the specified γ-axis voltage value v_(γ)* and the specified δ-axis voltage value v_(δ)*. This superposed voltage consists of a γ-axis superposed voltage v_(hγ)* (a γ-axis component of the superposed voltage) for v_(γ)* and a δ-axis superposed voltage v_(hδ)* (a δ-axis component of the superposed voltage) for v_(δ)*. Hereinafter, the γ-axis superposed voltage v_(hγ)* and the δ-axis superposed voltage v_(hδ)* may be referred to as superposed voltages v_(hγ)* and v_(hδ)* as a generic name.

The adder 202 adds the γ-axis superposed voltage v_(hγ)* to the specified γ-axis voltage value v_(γ)* outputted by the current controller 15, and the addition result (v_(γ)*+v_(hγ)*) is outputted to the coordinate converter 18. The adder 203 adds the δ-axis superposed voltage v_(hδ)* to the specified δ-axis voltage value v_(δ)* outputted by the current controller 15, and the addition result (v_(δ)s*+v_(hδ)*) is outputted to the coordinate converter 18.

The coordinate converter 18 performs an inverse conversion of the specified γ-axis voltage value with superposed v_(hγ)* (i.e., v_(γ)*+v_(hγ)*) and the specified δ-axis voltage value with superposed v_(hδ)* (i.e., v_(δ)*+v_(hδ)*) based on the estimated rotor position θ_(e) given by the estimator 200, and it generates the specified three-phase voltage values (v_(u)*, v_(v)* and v_(w)*) so as to output them to the PWM inverter 2. This inverse conversion is performed by using the equation in which v_(γ)* and v_(δ)* in the above equation (4) are replaced with (v_(γ)*+v_(hγ)*) and (v_(δ)*+v_(hδ)*), respectively. The PWM inverter 2 supplies the motor 1 with the motor current I_(a) corresponding to the specified three-phase voltage values so as to drive the motor 1.

In this way, a superposed voltage is added to a drive voltage for driving the motor 1 that is represented by v_(γ)* and v_(δ)* (in other words, the superposed voltage is superposed on the drive voltage). According to this addition of the superposed voltage, superposed current corresponding to the superposed voltage is added to the drive current for driving the motor 1 that is represented by the specified γ-axis current value i_(γ)* and the specified δ-axis current value i_(δ)*.

The superposed voltage generated by the superposed voltage generator 201 is, for example, a high frequency rotation voltage. Here, the “high frequency” means that a frequency of the superposed voltage is sufficiently higher than a frequency of the drive voltage. Therefore, a frequency of the superposed current that is added in accordance with the superposed voltage is sufficiently higher than a frequency of the drive current. In addition, the “rotation voltage” means a voltage such that the voltage vector locus of the superposed voltage describes a circle on the fixed coordinate axes.

Considering on the rotating coordinate axes such as the d-q axes or the γ-δ axes too, the voltage vector locus of the superposed voltage generated by the superposed voltage generator 201 describes a circle like a voltage vector locus 210 shown in FIG. 25, for example. If the superposed voltage is three-phase balanced voltages, the voltage vector locus describes a perfect circle around the origin on the rotating coordinate axes like the voltage vector locus 210. This rotation voltage (the superposed voltage) is a high frequency voltage that is not synchronous with the motor 1, so an application of the rotation voltage does not cause rotation of the motor 1.

In addition, if the motor 1 is an interior permanent magnet synchronous motor or the like and L_(d)<L_(q) holds, the current vector locus of the superposed current that flows in the motor 1 by the superposed voltage that describes the voltage vector locus 210 describes an ellipse having the major axis in the γ-axis direction and the minor axis in the δ-axis with the center on the origin of the γ-δ axes as shown by the current vector locus 211 in FIG. 26. Here, the current vector locus 211 is a current vector locus in the case where an axial error Δθ between the d-axis and the γ-axis is zero. If the axial error Δθ is not zero, the current vector locus of the superposed current becomes an ellipse as shown by the current vector locus 212, which has the major axis that does not match the γ-axis direction. More specifically, if the axial error Δθ is not zero, the current vector locus 211 is inclined with the center at the origin of the γ-δ axes so that the current vector locus 212 is described.

The γ-axis component and the δ-axis component of the superposed current are referred to as a γ-axis superposed current i_(hγ) and a δ-axis superposed current i_(hδ), respectively. Then, the product of them (i_(hγ)×i_(hδ)) includes a direct current component depending on a gradient of the ellipse expressed in the current vector locus 212. The product (i_(hγ)×i_(hδ)) has a positive value in the first and third quadrants of the current vector locus, while it has a negative value in the second and fourth quadrants thereof Therefore, although the direct current component is not included if the ellipse is not inclined (in the case of the current vector locus 211), the direct current component is included if the ellipse is inclined (in the case of the current vector locus 212). Note that I, II, III and IV shown in FIG. 26 represent the first, second, third and fourth quadrants on the γ-δ axes.

FIG. 27 shows a product (i_(hγ)×i_(hδ)) in the case where the axial error Δθ is zero and the direct current component of the product by curves 220 and 221, respectively, in which the horizontal axis represents time. FIG. 28 shows a product (i_(hγ)×i_(hδ)) in the case where the axial error Δθ is not zero and the direct current component of the product by curves 222 and 223, respectively, in which the horizontal axis represents time. As understood from FIGS. 27 and 28, the direct current component of the product (i_(hγ)×i_(hδ)) becomes zero if Δθ=0°, while it does not become zero if Δθ≠0°. In addition, this direct current component increases as a value of the axial error Δθ increases (i.e., it is approximately proportional to the axial error Δθ). Therefore, if this direct current component is controlled to converge to zero, the axial error Δθ converges to zero.

The estimator 200 shown in FIG. 24 performs an estimation operation noting this point. However, the estimation operation is performed so that not the axial error Δθ between the d-axis and the γ-axis but the axial error Δθ_(m) between the dm-axis and the γ-axis converges to zero for estimating the dm-qm axes.

FIG. 29 shows a block diagram of the inside structure of the estimator (the position/speed estimator) 200 a as an example of the estimator 200. The estimator 200 a includes an axial error estimator 231, a proportional-plus-integral calculator 232 and an integrator 233. The proportional-plus-integral calculator 232 and the integrator 233 are similar to the proportional-plus-integral calculator 31 and the integrator 32 shown in FIG. 4, respectively.

The axial error estimator 231 calculates the axial error Δθ_(m) by using i_(γ) and i_(δ). The proportional-plus-integral calculator 232 performs the proportional plus integral control in cooperation with each portion of the motor control device 3 d so as to realize a PLL (Phase Locked Loop). Then, the proportional-plus-integral calculator 232 calculates the estimated motor speed ω_(e) so that the axial error Δθ_(m) calculated by the axial error estimator 231 converge to zero. The integrator 233 integrates the estimated motor speed ω_(e) outputted by the proportional-plus-integral calculator 232 so as to calculate the estimated rotor position θ_(e). The estimated motor speed ω_(e) outputted by the proportional-plus-integral calculator 232 and the estimated rotor position θ_(e) outputted by the integrator 233 are both imparted to each part of the motor control device 3 d that needs the values as output values of the estimator 200 a. In addition, the estimated motor speed ω_(e) is also imparted to the axial error estimator 231.

An example of the inside structure of the axial error estimator 231 shown in FIG. 29 is shown in FIG. 30. As shown in FIG. 30, the axial error estimator 231 includes a BPF (band pass filter) 241, a LPF (low pass filter) 242, a θ_(m) calculator 243, a coordinate rotator 244 and an axial error calculator 245. In addition, as shown in FIG. 31, the axial error calculator 245 includes a multiplier 246, a LPF 247 and a coefficient multiplier 248. Here, a frequency (an electrical angle speed on the γ-δ coordinate axes) of the superposed voltages v_(hγ)* and v_(hδ)* generated by the superposed voltage generator 201 is represented by ω_(h).

The BPF 241 extracts a frequency component of ω_(h) from the γ-axis current i_(γ) and the δ-axis current i_(δ) outputted by the coordinate converter 12 shown in FIG. 24, and it outputs the γ-axis superposed current i_(hγ) and the δ-axis superposed current i_(hδ). The BPF 241 is a band pass filter having a pass band including the frequency of ω_(h), which receives the i_(γ) and i_(δ) as input signals. Typically, the center frequency of the pass band is ω_(h). In addition, the BPF 241 removes frequency components of the drive current.

The LPF 242 removes a frequency component of ω_(h) that is a high frequency component from the γ-axis current i_(γ) and the δ-axis current i_(δ) outputted by the coordinate converter 12 shown in FIG. 24, and the result is sent to the θ_(m) calculator 243. In other words, the LPF 242 removes the component of the superposed current (i_(hγ) and i_(hδ)) from the γ-axis current i_(γ) and the δ-axis current i_(δ).

The θ_(m) calculator 243 calculates a phase θ_(m) based on values of the γ-axis current i_(γ) and the δ-axis current i_(δ) from which the frequency component of ω_(h) is removed (see FIG. 11). Specifically, a value of the δ-axis current i_(δ) from which the frequency component of ω_(h) is removed is used as i_(δ) in the above equation (40), while θ_(m) is calculated by using the above equation (40). In this case, it is possible to prepare values of θ_(m) corresponding to i_(δ) as table data in advance, so that a value of θ_(m) is obtained by referring to the table data.

The coordinate rotator 244 uses the following equation (64) and performs the coordinate rotation of the current vector i_(h) formed by the superposed current i_(hγ) and i_(hδ) to the extent corresponding to the phase represented by θ_(m) for calculating the current vector i_(hm). In this case, the value of θ_(m) calculated by the θ_(m) calculator 243 is used. The current vectors i_(h) and i_(hm) are expressed in the following equation (65a) and (65b). The current i_(hγ) and i_(hδ) are orthogonal two-axes components that form the current vector i_(h), which are the γ-axis component and the δ-axis component of the current vector i_(h). The current vectors i_(hmγ) and i_(hmδ) are orthogonal two-axes components that form the current vector i_(hm). The current vectors i_(hmγ and i) _(hmδ) calculated by the coordinate rotator 244 are sent to the axial error calculator 245.

$\begin{matrix} {\begin{bmatrix} i_{{hm}\;\gamma} \\ i_{{hm}\;\delta} \end{bmatrix} = {\begin{bmatrix} {\cos\;\theta_{m}} & {\sin\;\theta_{m}} \\ {{- \sin}\;\theta_{m}} & {\cos\;\theta_{m}} \end{bmatrix}\begin{bmatrix} i_{h\;\gamma} \\ i_{h\;\delta} \end{bmatrix}}} & (64) \\ {i_{h} = \begin{bmatrix} i_{h\;\gamma} \\ i_{h\;\delta} \end{bmatrix}} & \left( {65a} \right) \\ {i_{hm} = \begin{bmatrix} i_{{hm}\;\gamma} \\ i_{{hm}\;\delta} \end{bmatrix}} & \left( {65b} \right) \end{matrix}$

With reference to FIG. 32 that shows an example of the current vector locus before and after the coordinate rotation, meaning of the coordinate rotation will be described as a supplemental explanation. It is supposed that a perfect circle rotation voltage is superposed, i.e., the case where a superposed voltage like drawing the voltage vector locus 210 shown in FIG. 25 is applied. In this case, due to the magnetic salient pole of the motor 1, the locus of the current vector i_(h) on the rotating coordinate axes describes an ellipse that is symmetric about the d-axis (i.e., an ellipse in which the d-axis direction matches the major axis direction), similarly to the current vector locus 251. The coordinate rotator 244 multiplies the rotation matrix to the current vector i_(h) so that this ellipse becomes symmetric about the dm-axis, so as to calculate the current vector i_(hm). Thus, the locus of the current vector i_(hm) becomes like the current vector locus 252.

The current vector locus 252 describes an ellipse on the rotating coordinate axes, and the major axis direction thereof matches the dm-axis direction when Δθ_(m)=0° while it does not match the dm-axis direction when Δθ_(m)≠0°. Therefore, when the direct current component of the product (i_(hmγ)×i_(hmδ)) of the orthogonal two-axes components of the current vector i_(hm) is expressed in (i_(hmγ)×i_(hmδ))_(DC), the direct current component (i_(hγ)×i_(hδ))_(DC) becomes zero when the axial error Δθ_(m) is zero and is approximately proportional to the axial error Δθ_(m) similarly to the relationship between the direct current component of the product (i_(hγ)×i_(hδ)) and the axial error Δθ. Therefore, when the proportional coefficient is denoted by K, the axial error Δθ_(m) can be expressed in the following equation (66). Δθ_(m) =K·(i _(hmγ) ×i _(hmδ))_(DC)   (66)

In order to realize the calculation expressed in the equation (66), the axial error calculator 245 is structured as shown in FIG. 31. More specifically, the multiplier 246 calculates a product of i_(hmγ) and i_(hmδ) calculated by the coordinate rotator 244, and the LPF 247 extracts a direct current component of the product (i_(hmγ)×i_(hmδ)) so as to obtain (i_(hmγ)×i_(hmδ))_(DC). The coefficient multiplier 248 multiplies the proportional coefficient K to the direct current component (i_(hmγ)×i_(hmδ))_(DC) outputted by the LPF 247, so as to calculate the axial error Δθ_(m) expressed in the equation (66). The axial error Δθ_(m) outputted by the coefficient multiplier 248 is sent to the proportional-plus-integral calculator 232 as the axial error Δθ_(m) estimated by the axial error estimator 231 shown in FIG. 29. Then, as described above, calculation of the estimated motor speed ω_(e) and the estimated rotor position θ_(e) is performed so that the axial error Δθ_(m) converges to zero. In other words, the γ-δ axes follow the dm-qm axes (the dm-qm axes are estimated).

As described above, a high frequency superposed voltage is added (superposed), and a rotor position is estimated based on the superposed current component that flows responding to the superposed voltage. Thus, it is possible to estimate a rotor position appropriately in particular when the motor 1 is stopped or working at a low speed.

[Variations Concerning the Superposed Voltage]

As a most typical example, the case where the superposed voltage generated by the superposed voltage generator 201 is a perfect circle rotation voltage is described above. However, other various superposed voltages can be adopted as the superposed voltage generated by the superposed voltage generator 201. In this case, it is necessary that the voltage vector locus of the superposed voltage on the rotating coordinate axes (i.e., the d-q axes or the like) is symmetric about the d-axis. More specifically, it is necessary that the voltage vector locus of the superposed voltage on the rotating coordinate axes (i.e., the d-q axes or the like) describes a figure that encloses the origin and is symmetric about the d-axis. It is because that the current vector locus of the superposed current due to the superposed voltage should be symmetric about the d-axis as a precondition for structuring the axial error estimator 231 shown in FIG. 29, and that the precondition is satisfied by making the voltage vector locus symmetric about the d-axis.

Here, “encloses the origin” means that there is the origin of the rotating coordinate axes (i.e., the d-q axes or the like) inside the above-mentioned “figure that is symmetric”. In addition, “be symmetric about d-axis” means that, of the voltage vector locus on the d-q axes, the part lying in the first and second quadrants and the part lying in the third and fourth quadrants are symmetric with each other about the d-axis.

For example, the voltage vector locus of the superposed voltage on the rotating coordinate axes (i.e., the d-q axes or the like) can be an ellipse having the minor axis or the major axis in the d-axis direction, or it can be a line segment lying on the d-axis or the q-axis (i.e., the superposed voltage can be an alternating voltage) or a rectangle with the center on the origin.

FIG. 33 shows a locus of the current vectors i_(h) and i_(hm) in the case where an elliptic rotation voltage is applied as the superposed voltage. FIG. 34 shows a locus of the current vectors i_(h) and i_(hm) in the case where an alternating voltage having only the d-axis component is applied as the superposed voltage.

It is necessary to give the phase θ_(m) that is a calculation value of the θ_(m) calculator 243 shown in FIG. 30 to the superposed voltage generator 201 shown in FIG. 24 in the case where the voltage vector locus of the applied superposed voltage is not a perfect circle. If the voltage vector locus of the superposed voltage is a perfect circle, the voltage vector locus of the superposed voltage is symmetric about the d-axis regardless of a phase of the superposed voltage. However, if it is not a perfect circle, information of the phase θ_(m) is needed for making the voltage vector locus symmetric about the d-axis.

For example, if the superposed voltage is a perfect circle rotation voltage, the superposed voltage generator 201 generates the superposed voltage expressed in the following equation (67). If the superposed voltage is an elliptic rotation voltage or an alternating voltage, the superposed voltage generator 201 generates the superposed voltage expressed in the following equation (68). Here, V_(hγ) and V_(hδ) denote respectively an amplitude of the superposed voltage in the γ-axis direction and an amplitude of the superposed voltage in the δ-axis direction. Reference letter t represents time.

$\begin{matrix} {\begin{bmatrix} v_{h\;\gamma}^{*} \\ v_{h\;\delta}^{*} \end{bmatrix} = \begin{bmatrix} {V_{h\;\gamma}{\cos\left( {\omega_{h}t} \right)}} \\ {V_{h\;\delta}{\sin\left( {\omega_{h}t} \right)}} \end{bmatrix}} & (67) \\ {\begin{bmatrix} v_{h\;\gamma}^{*} \\ v_{h\;\delta}^{*} \end{bmatrix} = \begin{bmatrix} {V_{h\;\gamma}{\cos\left( {{\omega_{h}t} + \theta_{m}} \right)}} \\ {V_{h\;\delta}{\sin\left( {{\omega_{h}t} + \theta_{m}} \right)}} \end{bmatrix}} & (68) \end{matrix}$

[Derivation of a Theoretical Formula of an Axial Error]

The method of estimating the dm-qm axes described above utilizes the fact that the axial error Δθ_(m) is proportional to the direct current component (i_(hmγ)×i_(hmδ))_(DC). Here, a theoretical formula concerning the principle of this estimation will be considered. For convenience of description, the case where the estimation of the d-q axes is performed is considered. More specifically, the theoretical formula is derived for the case where the axial error Δθ between the d-axis and the γ-axis is calculated.

First, the equation concerning the superposed component is expressed in the following equation (69). Here, the following equations (70a), (70b), (70c), (70d) and (70e) hold. Note that p denotes the differential operator.

$\begin{matrix} {{p\begin{bmatrix} i_{h\;\gamma} \\ i_{h\;\delta} \end{bmatrix}} = {{\frac{1}{L_{d}L_{q}}\begin{bmatrix} L_{\delta} & {- L_{\gamma\;\delta}} \\ {- L_{\gamma\;\delta}} & L_{\gamma} \end{bmatrix}}\begin{bmatrix} v_{h\;\gamma}^{*} \\ v_{h\;\delta}^{*} \end{bmatrix}}} & (69) \\ {L_{\gamma} = {L_{0} + {L_{1}\cos\; 2{\Delta\theta}}}} & \left( {70a} \right) \\ {L_{\delta} = {L_{0} - {L_{1}\cos\; 2{\Delta\theta}}}} & \left( {70b} \right) \\ {L_{\gamma\;\delta} = {L_{1}\sin\; 2{\Delta\theta}}} & \left( {70\; c} \right) \\ {L_{0} = \frac{L_{d} + L_{q}}{2}} & \left( {70d} \right) \\ {L_{1} = \frac{L_{d} - L_{q}}{2}} & \left( {70e} \right) \end{matrix}$

If the applied superposed voltage is expressed in the above equation (67), the orthogonal two-axes components i_(hγ) and i_(hδ) of the superposed current that flows corresponding to the application of the superposed voltage are expressed in the following equation (71). Note that s in the equation (71) is the Laplace operator, and θ_(h)=ω_(h)t.

$\begin{matrix} \begin{matrix} {\begin{bmatrix} {\; i_{\;{h\;\gamma}}} \\ {\; i_{\;{h\;\delta}}} \end{bmatrix} = {{\frac{1}{L_{d}L_{q}}\begin{bmatrix} L_{\delta} & {- L_{\gamma\;\delta}} \\ {- L_{\gamma\;\delta}} & L_{\gamma} \end{bmatrix}}{\frac{1}{s}\begin{bmatrix} v_{h\;\gamma}^{*} \\ v_{h\;\delta}^{*} \end{bmatrix}}}} \\ {= {\frac{1}{\omega_{h}L_{d}L_{q}}\begin{bmatrix} {L_{0} - {L_{1}\cos\; 2{\Delta\theta}}} & {{- L_{1}}\sin\; 2{\Delta\theta}} \\ {{- L_{1}}\sin\; 2{\Delta\theta}} & {L_{0} + {L_{1}\cos\; 2\Delta\;\theta}} \end{bmatrix}}} \\ {\begin{bmatrix} {V_{h\;\gamma}\sin\;\theta_{h}} \\ {{- V_{h\;\delta}}\cos\;\theta_{h}} \end{bmatrix}} \end{matrix} & (71) \end{matrix}$

Organizing the product of the orthogonal two-axes components of the superposed current based on the above equation (71), the following equation (72) is obtained. Here, K1-K7 are coefficients that are determined when L_(d), L_(q), V_(hγ) and V_(hδ) are determined. i _(hγ) ×i _(hδ) =K ₁ sin(2θ_(h))+K ₂ sin(2Δθ)+K ₃ sin(4Δθ)+K ₄ sin(2Δθ+2θ_(h))+K ₅ sin(2Δθ−2θ_(h))+K ₆ sin(4Δθ+2θ_(h))+K ₇ sin(4Δθ−2θ_(h))   (72)

The direct current component of the product (i_(hγ)×i_(hδ)) of the orthogonal two-axes components of the current vector i_(h) is expressed in (i_(hγ)×i_(hδ))_(DC). The direct current component is expressed in the equation (73) since it has no term variable to θ_(h). (i _(hγ) ×i _(hδ))_(DC) =K ₂ sin(2Δθ)+K ₃ sin(4Δθ)   (73)

If Δθ≈0, the approximations “sin(2Δθ)≈2Δθ” and “sin(4Δθ)≈4Δθ” hold. Therefore, the axial error Δθ can be expressed in the following equation (74). Note that K in the equation (74) is a coefficient determined by the coefficients K₂ and K₃. If the superposed voltage is a perfect circle rotation voltage, the coefficient K₃ becomes zero so that the sine term of quadruple Δθ is eliminated from the equation (73). Δθ=K·(i _(hγ) ×i _(hδ))_(DC)   (74)

Applying the deriving method of the above equation (74) to the axial error Δθ_(m), the above equation (66) can be obtained.

[Variations Concerning the Axial Error Calculator]

The above example is the case where the axial error Δθ_(m) is calculated by using both the orthogonal two-axes components (i.e., i_(hmγ) and i_(hmδ)) of the current vector i_(hm) obtained by the coordinate rotation performed by the coordinate rotator 244 shown in FIG. 30. However, it is possible to use only one-axis component (i.e., i_(hmγ) or i_(hmδ)) of the orthogonal two-axes components for calculating the axial error Δθ_(m). If only one-axis component is used for calculating the axial error Δθ_(m), it is necessary that the superposed voltage generated by the superposed voltage generator 201 shown in FIG. 24 is an alternating voltage having only the d-axis component or the q-axis component.

The method of superposing an alternating voltage and calculating the axial error Δθ based on one-axis component (i.e., i_(hγ) or i_(hδ)) of a vector of the superposed current that flows corresponding to the superposed alternating voltage is known for a long time (for example, see the above-mentioned third patent document). Therefore, a detailed description of the method will be omitted. If the d-q axes are replaced with the dm-qm axes when the method is applied, it is possible to calculate the axial error Δθ_(m) by using only the one-axis component (i.e., i_(hmγ) or i_(hmδ)) of the current vector i_(hm).

In addition, there are many methods of superposing a high frequency voltage and estimating a rotor position and a motor speed based on current flowing corresponding to the superposed high frequency voltage (for example, see the above-mentioned fourth through sixth patent documents). It is possible to use these methods to the dm-qm axes for performing the estimation process.

Sixth Embodiment

It is possible to combine the sensor-less control corresponding to the fifth embodiment that is suitable particularly for a low speed rotation (and a stopped state) and the sensor-less control corresponding to the second or the third embodiment that is suitable particularly for a high speed rotation, so that an appropriate sensor-less control can be realized over a wide speed range including the stopped state. A sixth embodiment will be described below corresponding to this combination. The contents described in the second, the third and the fifth embodiments are also applied to the sixth embodiment as long as there is no conflict.

A general structure of the motor control device according to the sixth embodiment is the same as that shown in FIG. 24, so additional illustration will be omitted. However, in the motor control device according to the sixth embodiment, an inside structure of the estimator 200 is different from that of the estimator 200 a shown in FIG. 29. Therefore, the inside structure and an operation of the estimator 200 that are different from those in the fifth embodiment will be described.

As examples of the estimator 200 that can be used in this embodiment, a first, a second and a third examples of the estimator will be described below.

[First Example of the Estimator]

To begin with, a first example of the estimator will be described. FIG. 35 shows an example of the inside structure of a position/speed estimator 200 b (hereinafter referred to as an “estimator 200 b” simply) according to the first example of the estimator. The estimator 200 b can be used as the estimator 200 shown in FIG. 24.

The estimator 200 b includes a first axial error estimator 261, a second axial error estimator 262, a switch processor 263, a proportional-plus-integral calculator 264 and an integrator 265.

The first axial error estimator 261 is similar to the axial error estimator 231 described in the fifth embodiment with reference to FIG. 29, which calculates an axial error between the qm-axis and the δ-axis based on i_(γ) and i_(δ). Although the calculated axial error is handled as the axial error Δθ_(m) to be calculated by the estimator 200 (or 200 a) in the fifth embodiment, it is a candidate of the axial error Δθ_(m) to be calculated by the estimator 200 b in this embodiment. More specifically, the first axial error estimator 261 calculates the axial error between the qm-axis and the δ-axis calculated via the axial error calculator 245 or the like (see FIG. 30) that constitutes the first axial error estimator 261 itself as a candidate of the axial error Δθ_(m), and it outputs the calculation result. The output value of the first axial error estimator 261 is referred to as a first candidate axial error Δθ_(m1). Note that the first axial error estimator 261 uses an output value (estimated motor speed ω_(e)) of the proportional-plus-integral calculator 264 when it calculates the first candidate axial error Δθ_(m1), if necessary.

The second axial error estimator 262 is similar to the axial error estimator 41 described in the second embodiment with reference to FIG. 15. The second axial error estimator 262 uses a whole or a part of values v_(γ)*, v_(δ)*, i_(γ) and i_(δ) for calculating and outputting an axial error between the qm-axis and the δ-axis as a candidate of the axial error Δθ_(m) based on the first through the fifth calculation methods or the like described in the second embodiment. The output value of the second axial error estimator 262 is referred to as a second candidate axial error Δθ_(m2). Although it will be described later, values of i_(γ) and i_(δ) that are used for calculating the second candidate axial error Δθ_(m2) should not include a component of the superposed current (i_(hγ) and i_(hδ)) that is resulted from the superposed voltage. In addition, the second axial error estimator 262 utilizes an output value (an estimated motor speed ω_(e)) of the proportional-plus-integral calculator 264, if necessary, when the second candidate axial error Δθ_(m2) is calculated.

The switch processor 263 receives the first candidate axial error Δθ_(m1) as a first input value and the second candidate axial error Δθ_(m2) as a second input value, calculates an output value from the first input value and the second input value so as to output the same in accordance with speed information indicating a rotation speed of a rotor of the motor 1. The estimator 200 b uses the estimated motor speed ω_(e) calculated by the proportional-plus-integral calculator 264 as the speed information. However, it is possible to use the specified motor speed value ω* as the speed information.

The switch processor 263 outputs one of the first and the second input values as it is as the output value in accordance with the speed information as shown in FIG. 36, for example. In this case, the switch processor 263 outputs the first input value as the output value when the rotation speed indicated in the speed information is lower than a predetermined threshold speed V_(TH) while it outputs the second input value as the output value when the rotation speed is higher than the threshold speed V_(TH).

In addition, it is possible to perform a weighted average process in the switch processor 263. In this case, the switch processor 263 outputs the first input value as the output value when the rotation speed indicated in the speed information is lower than a predetermined first threshold speed V_(TH1) while it outputs the second input value as the output value when the rotation speed is higher than a predetermined second threshold speed V_(TH2). In addition, if the rotation speed indicated in the speed information is within the range from the first threshold speed V_(TH1) to the second threshold speed V_(TH2), it calculates and outputs a weighted average value of the first input value and the second input value as the output value. Here, V_(TH1)<V_(TH2) holds.

The weighted average process is, for example, performed in accordance with the rotation speed indicated in the speed information. More specifically, as shown in the schematic diagram of FIG. 37, when the rotation speed indicated in the speed information is within the range from the first threshold speed V_(TH1) to the second threshold speed V_(TH2), the weighted average of the first input value and the second input value is calculated so that the second input value contributes the output value more than the first input value as the rotation speed increases while the first input value contributes the output value more than the second input value as the rotation speed decreases.

In addition, for example, the weighted average process is performed in accordance with an elapsed time from a start of the switching. More specifically, for example, as shown in the schematic diagram of FIG. 38, the switching of the output value from the first input value to the second input value is started at the timing t1 as a reference when the rotation speed indicated in the speed information changes from a value lower than the first threshold speed V_(TH1) to a value higher than the first threshold speed V_(TH1). At the timing t1, the output value is the first input value, for example. Then, the weighted average of the first input value and the second input value is calculated so that the contribution of the second input value to the output value increases as the elapsed time from the timing t1 increases. When a predetermined time has passed from the timing t1 of the start of switching, the output value is made match the second input value so that the switching is finished. It is controlled similarly in the case where the rotation speed indicated in the speed information changes from a value higher than second threshold speed V_(TH2) to a value lower than the second threshold speed V_(TH2). Note that the first threshold speed V_(TH1) may be the same as the second threshold speed V_(TH2) when the weighted average process is performed in accordance with an elapsed time from a start of the switching.

Note that the threshold speed V_(TH) is, for example, a rotation speed within the range of 10-30 rps (rotation per second), the first threshold speed V_(TH1) is, for example, a rotation speed within the range of 10-20 rps, and the second threshold speed V_(TH2) is, for example, a rotation speed within the range of 20-30 rps.

In the estimator 200 b shown in FIG. 35, an output value of the switch processor 263 is given to the proportional-plus-integral calculator 264 that works as a speed estimator. The proportional-plus-integral calculator 264 performs the proportional plus integral control in cooperation with each part of the motor control device 3 d for realizing the PLL, and it calculates the estimated motor speed ω_(e) so that the output value of the switch processor 263 converges to zero. The integrator 265 integrates the estimated motor speed ω_(e) outputted by the proportional-plus-integral calculator 264 so as to calculate the estimated rotor position θ_(e). The estimated motor speed ω_(e) outputted by the proportional-plus-integral calculator 264 and the estimated rotor position θ_(e) outputted by the integrator 265 are both imparted to each part of the motor control device 3 d that needs the values as the output value of the estimator 200 b.

[Second Example of the Estimator]

Next, a second example of the estimator will be described. FIG. 39 is an example of an inside structure of a position/speed estimator 200 c (hereinafter referred to as an “estimator 200 c” simply) according to the second example of the estimator. The estimator 200 c can be used as the estimator 200 shown in FIG. 24.

The estimator 200 c includes a first axial error estimator 261, a second axial error estimator 262, a switch processor 263, proportional-plus-integral calculators 266 and 267, and an integrator 268. The estimator 200 c performs a switching process at a stage of an estimated speed.

The first axial error estimator 261 and the second axial error estimator 262 of the estimator 200 c are similar to those of the estimator 200 b shown in FIG. 35. However, the first axial error estimator 261 handles and utilizes an output value of the proportional-plus-integral calculator 266 (i.e., a first candidate speed ω_(e1) that will be described later) as the estimated motor speed ω_(e), if necessary, when the first candidate axial error Δθ_(m1) is calculated. Similarly, the second axial error estimator 262 handles and utilizes an output value of the proportional-plus-integral calculator 267 (i.e., a second candidate speed ω_(e2) that will be described later) as the estimated motor speed ω_(e), if necessary, when the second candidate axial error Δθ_(m2) is calculated.

The proportional-plus-integral calculator 266 performs the proportional plus integral control in cooperation with each part of the motor control device 3 d for realizing the PLL, and it calculates the estimated motor speed so that the first candidate axial error Δθ_(m1) converges to zero. The estimated motor speed calculated by the proportional-plus-integral calculator 266 is outputted as the first candidate speed ω_(e1).

The proportional-plus-integral calculator 267 performs the proportional plus integral control in cooperation with each part of the motor control device 3 d for realizing the PLL, and it calculates the estimated motor speed so that the second candidate axial error Δθ_(m2) converges to zero. The estimated motor speed calculated by the proportional-plus-integral calculator 267 is outputted as the second candidate speed ω_(e2).

The switch processor 263 of the estimator 200 c is similar to that of the estimator 200 b shown in FIG. 35. In the estimator 200 c, however, the first input value and the second input value of the switch processor 263 are the first candidate speed ω_(e1) and the second candidate speed ω_(e2), respectively. Therefore, the switch processor 263 of the estimator 200 c outputs the first candidate speed ω_(e1), the second candidate speed ω_(e2) or a weighted average value thereof in accordance with speed information indicating a rotation speed of a rotor of the motor 1. Note that the specified motor speed value ω* can be used as the speed information. An output value of the switch processor 263 becomes the estimated motor speed ω_(e) adapted to the rotation speed.

The integrator 268 integrates the estimated motor speed ω_(e) outputted by the switch processor 263 so as to calculate the estimated rotor position θ_(e). The estimated motor speed ω_(e) outputted by the switch processor 263 and the estimated rotor position θ_(e) outputted by the integrator 268 are both imparted to each part of the motor control device 3 d that needs the values as the output value of the estimator 200 c.

[Third Example of the Estimator]

Next, a third example of the estimator will be described. FIG. 40 is an example of an inside structure of a position/speed estimator 200 d (hereinafter referred to as an “estimator 200 d” simply) according to the third example of the estimator. The estimator 200 d can be used as the estimator 200 shown in FIG. 24.

The estimator 200 d includes a first axial error estimator 261, a second axial error estimator 262, a switch processor 263, proportional-plus-integral calculators 266 and 267, integrators 269 and 270. The estimator 200 d performs a switching process at a stage of an estimated position.

The first axial error estimator 261, the second axial error estimator 262 and the proportional-plus-integral calculators 266 and 267 of the estimator 200 d are similar to those of the estimator 200 c shown in FIG. 39. The integrator 269 integrates the first candidate speed ω_(e1) outputted by the proportional-plus-integral calculator 266 so as to calculate a first candidate position θ_(e1). The integrator 270 integrates the second candidate speed ω_(e2) outputted by the proportional-plus-integral calculator 267 so as to calculate a second candidate position θ_(e2).

The switch processor 263 of the estimator 200 d is similar to that of the estimator 200 b shown in FIG. 35. In the estimator 200 d, however, the first input value and the second input value of the switch processor 263 are the first candidate position θ_(e1) and the second candidate position θ_(e2), respectively. Therefore, the switch processor 263 of the estimator 200 d outputs the first candidate position θ_(e1), the second candidate position θ_(e2) or a weighted average value thereof in accordance with speed information indicating a rotation speed of a rotor of the motor 1. Note that the specified motor speed value ω* can be used as the speed information. An output value of the switch processor 263 becomes the estimated rotor position θ_(e) adapted to the rotation speed.

The estimated rotor position θ_(e) outputted by the switch processor 263 is imparted to each part of the motor control device 3 d that needs the values as the output value of the estimator 200 d. If it is necessary, the estimated rotor position θ_(e) outputted by the switch processor 263 may be differentiated so as to calculate the estimated motor speed ω_(e).

Note that the contents described as explanations applied to the estimator 200 b can be also applied to the estimator 200 c and the estimator 200 d as long as there is no conflict.

Although the generation of the superposed voltage by the superposed voltage generator 201 is essential at the timing when the first candidate axial error Δθ_(m1) calculated by the first axial error estimator 261 is necessary like the case of low speed rotation, the generation of the superposed voltage by the superposed voltage generator 201 may be paused at the timing when the first candidate axial error Δθ_(m1) calculated by the first axial error estimator 261 is not necessary like the case of a high speed rotation. What is necessary for calculating the second candidate axial error Δθ_(m2) is a drive current component that flows corresponding to the drive voltage (v_(γ)* and v_(δ)*), and the superposed current component becomes a noise for calculation of the second candidate axial error Δθ_(m2).

In the case of performing the weighted average process, however, it is necessary to calculate the second candidate axial error Δθ_(m2) while adding the superposed voltage. In this case, it is preferable to perform a high frequency cut-off process on the γ-axis current i_(γ) and the δ-axis current i_(δ) from the coordinate converter 12 so as to remove the superposed current (i_(hγ) and i_(hδ)) component. Then, the result that is values of the γ-axis current i_(γ) and the δ-axis current i_(δ) may be utilized for calculating the second candidate axial error Δθ_(m2).

In this way, forming the estimator (200 b, 200 c or 200 d), the estimation process for a low speed is performed by using the value (Δθ_(m1), ω_(e1) or θ_(e1)) calculated based on the superposed current component in the state where the motor 1 is stopped or rotates at a low speed, while the estimation process for a high speed is performed by using the value (Δθ_(m2), ω_(e2) or θ_(e2)) calculated based on the drive current component in the state where the motor 1 rotates at a high speed. Therefore, an appropriate sensor-less control can be realized over a wide speed range.

If it is attempted to switch between a low speed sensor-less control for estimating the d-q axes like the conventional structure and a high speed sensor-less control for estimating the dm-qm axes corresponding to the second or the third embodiment in accordance with a rotation speed, switching between different coordinates is necessary, which causes a problem for realizing a smooth switching. In addition, for realizing the maximum torque control, the d-axis current (γ-axis current) corresponding to the q-axis current (δ-axis current) is necessary under the control based on the d-q axes. In contrast, under the control based on the dm-qm axes, the dm-axis current (γ-axis current) is set to zero or nearly zero, resulting in a discontinuity of the specified γ-axis current value i_(γ)* along with the switching. On the other hand, if the switching is performed under the control based on the dm-qm axes as shown in this embodiment, these problems can be solved.

In addition, if the switching between the estimation process for a low speed and the estimation process for a high speed is performed gradually by using the weighted average process, continuities of the estimated values of the rotor position and the motor speed can be secured, so that the switching of the estimation process can be performed smoothly. However, if the switching is performed at the stage of the axial error estimation like the estimator 200 b shown in FIG. 35, the estimated values of the rotor position and the motor speed can alter not faster than a response speed depending on characteristics of the PLL. Therefore, even if the weighted average process is not performed, the continuities of those estimated values can be secured.

Variations

The contents described in each embodiment can also be applied to the other embodiments as long as there is no conflict. For example, the contents (the equations and the like) described in the second embodiment can be applied to all the third through the sixth embodiments. In addition, the specific values in the above description are merely exemplified values, so they can be naturally modified to various values.

It is described above that the magnetic flux controller 16 outputs i_(γ)* or i_(dm)* of zero or a value close to zero in the first through the sixth embodiments. But, in the case where a rotor rotates at a rotation speed that needs a flux-weakening control, it is possible of course to output i_(γ)* or i_(dm)* having a value corresponding to the rotation speed.

In addition, the current detector 11 may have a structure for detecting the motor current directly as shown in FIG. 3. Instead, the current detector 11 may have a structure for reproducing the motor current from an instantaneous current of the DC current on the power supply side so as to detect the motor current.

In addition, a part or a whole of the functions of the motor control device in each embodiment is realized by using software (a program) incorporated in a versatile microcomputer or the like, for example. If the motor control device is realized by software, the block diagram showing structures of portions in the motor control device should be interpreted to show a functional block diagram. It is possible, of course, to constitute the motor control device by only hardware without software (a program).

[Selection of the qm-Axis]

Although it is described above in the second through the sixth embodiments that realizing the maximum torque control (or a control similar to the same) is the precondition, it is possible to realize a desired vector control different from the maximum torque control by utilizing the contents described above. In this case too, of course, the effect of facilitating the adjustment of the parameter or the like can be obtained.

In the second through the sixth embodiments, for example, a rotation axis whose phase further leads that of the rotation axis that, when the maximum torque control is realized, matches the direction of the current vector to be supplied to the motor 1 may be adopted as the qm-axis. Thus, an iron loss can be reduced so that a motor efficiency can be improved. It is also possible to realize the maximum efficiency control by setting the leading phase of the qm-axis appropriately.

For realizing the maximum torque control, a value of L_(m) is calculated by using the above equation (42). In this case, a motor efficiency can be improved by adopting a value smaller than the value calculated by using the above equation (42) as the value of L_(m).

In the first embodiment (FIG. 3), a part of the motor control device 3 except for the estimator 20 constitutes the controller. In the second embodiment (FIG. 14), a part of the motor control device 3 a except for the estimator 40 constitutes the controller. In the third embodiment (FIG. 19), a part of the motor control device 3 b except for the estimator 45, the θ_(m) calculator 46 and the computing unit 47 constitutes the controller.

In the fourth embodiment (FIG. 20), the position detector 50, the θ_(m) calculator 52 and the computing unit 53 constitute the θ_(dm) calculator, and a part of the motor control device 3 c except for the θ_(dm) calculator constitutes the controller.

In the fifth and the sixth embodiments (FIG. 24), a part of the motor control device 3 d except for the estimator 200 and superposed voltage generator 201 constitutes the controller.

In the estimator 200 b of the sixth embodiment shown in FIG. 35, the first axial error estimator 261 and the second axial error estimator 262 work as the first candidate axial error calculator and the second candidate axial error calculator, respectively. In the estimator 200 c of the sixth embodiment shown in FIG. 39, a part including the first axial error estimator 261 and the proportional-plus-integral calculator 266 works as the first candidate speed calculator, and a part including the second axial error estimator 262 and the proportional-plus-integral calculator 267 works as the second candidate speed calculator. In the estimator 200 d of the sixth embodiment shown in FIG. 40, a part including the first axial error estimator 261, the proportional-plus-integral calculator 266 and the integrator 269 works as the first candidate position calculator, a part including the second axial error estimator 262, the proportional-plus-integral calculator 267 and the integrator 270 works as the second candidate position calculator.

In each embodiment, the coordinate converters 12 and 18, the subtracters 13 and 14 and the current controller 15 constitute a specified voltage calculator. In each embodiment, the magnetic flux controller 16, the speed controller 17 and the subtracter 19 constitute the specified current calculator.

Furthermore, in this specification, for simplification of description, a symbol (such as i_(γ)) may indicate quantity of state or the like corresponding to the symbol only by itself. In other words, “i_(γ)” and “γ-axis current i_(γ)”, for example, mean the same matter in this specification.

The present invention can be applied to any electric equipment that uses a motor. For example, an electric automobile that is driven by a motor and a compressor that is used for an air conditioner or the like are preferable applications of the present invention. 

1. A motor control device comprising: an estimator for estimating a rotor position of a motor having a salient pole by using a value corresponding to a q-axis inductance of the motor as an operation parameter; and a controller for controlling the motor based on the estimated rotor position, wherein the estimator generates a deviation between a d-axis and a γ-axis by performing the estimation of the rotor position based on a value between a real q-axis inductance and a real d-axis inductance of the motor adopted as the operation parameter, where the d-axis is an axis parallel to a magnetic flux generated by a permanent magnet that constitutes the rotor, the γ-axis is an estimated axis for the control corresponding to the d-axis, and the q-axis is an axis leading the d-axis by 90 degrees in electrical angle.
 2. The motor control device according to claim 1, wherein the controller controls the motor so that a γ-axis component of a motor current supplied to the motor is maintained to be a predetermined value of zero or close to zero.
 3. The motor control device according to claim 2, wherein the estimator also estimates a rotation speed of the rotor corresponding to the estimation of the rotor position, the controller includes a specified current calculator that generates a specified γ-axis current value and a specified δ-axis current value to be followed by the γ-axis component and a δ-axis component of the motor current so that the estimated rotation speed follows a specified motor speed value given externally, where the δ-axis is an axis leading the γ-axis by 90 degrees in electrical angle, and the specified current calculator maintains the specified γ-axis current value at the predetermined value regardless of a value of the specified δ-axis current value, so that the γ-axis component of the motor current is maintained at the predetermined value regardless of a value of the δ-axis component of the motor current.
 4. The motor control device according to claim 1, wherein the estimator performs the estimation of the rotor position by using a q-axis inductance L as the operation parameter that satisfies the following expression, L _(d) ≦L<(L _(d) +L _(q))/2, where L_(q) and L_(d) are respectively the real q-axis inductance and the real d-axis inductance of the motor.
 5. A motor control device for controlling a motor, wherein the motor control device controls the motor by decomposing a motor current that flows in the motor into a qm-axis component parallel to a qm-axis and a dm-axis component parallel to a dm-axis, where the qm-axis is a rotation axis having the same direction as a current vector for realizing a maximum torque control or a rotation axis leading said rotation axis in phase and the dm-axis is a rotation axis that is orthogonal to the qm-axis, the motor control device comprising an estimator for estimating a rotor position of the motor and a controller for controlling the motor based on the estimated rotor position, wherein the controller controls the motor so that a γ-axis and a δ-axis follow the dm-axis and the qm-axis, respectively, where the d-axis is an axis parallel to a magnetic flux generated by a permanent magnet that constitutes a rotor, the γ-axis is an estimated axis for the control corresponding to the d-axis, and the δ-axis is an axis leading the γ-axis by 90 degrees in electrical angle.
 6. The motor control device according to claim 5, wherein the controller controls the motor so that a γ-axis component of the motor current is maintained to be a predetermined value of zero or close to zero.
 7. The motor control device according to claim 5, wherein the estimator estimates the rotor position by using an axial error between the qm-axis and the δ-axis.
 8. The motor control device according to claim 5, wherein the estimator estimates the rotor position by using an induction voltage vector on the qm-axis in the case where a vector of an induction voltage on a q-axis generated in the motor is decomposed into the induction voltage vector on the qm-axis and an induction voltage vector on the dm-axis, where the q-axis is an axis leading the d-axis by 90 degrees in electrical angle.
 9. The motor control device according to claim 5, wherein the estimator estimates the rotor position by using a flux linkage vector on the dm-axis in the case where a vector of a flux linkage on the d-axis of the motor is decomposed into a flux linkage vector on the qm-axis and the flux linkage vector on the dm-axis.
 10. The motor control device according to claim 5, wherein the controller includes a coordinate converter for converting a predetermined fixed axis component of the motor current into a γ-axis component and a δ-axis component by using the rotor position estimated by the estimator, the estimator estimates a dm-axis component and a qm-axis component of the motor current based on the γ-axis component and the δ-axis component of the motor current obtained by the coordinate converter, and the rotor position is estimated by using an error current between the dm-axis component of the motor current obtained by the estimation and the γ-axis component of the motor current obtained by the coordinate converter and also using an error current between the qm-axis component of the motor current obtained by the estimation and the δ-axis component of the motor current obtained by the coordinate converter.
 11. The motor control device according to claim 5, further comprising a superposer for adding a superposed voltage to a drive voltage for driving the motor, the superposed voltage having a frequency different from the drive voltage, wherein the estimator is capable of performing a first estimation process for estimating the rotor position based on a superposed current that flows in the motor corresponding to the superposed voltage.
 12. The motor control device according to claim 11, wherein the estimator is further capable of performing a second estimation process for estimating the rotor position based on a drive current corresponding to the drive voltage included in the motor current, and a estimation process that is performed actually is switched between the first estimation process and the second estimation process in accordance with speed information indicating a rotation speed of the rotor.
 13. The motor control device according to claim 12, wherein the estimator switches the estimation process that is performed actually from one of the first and the second estimation processes to the other via an estimation process in which the estimation results of both the estimation processes are considered in accordance with the speed information or an elapsed time from a start of the switching.
 14. The motor control device according to claim 11, wherein a voltage vector locus of the superposed voltage on a rotating coordinate axes describes a figure symmetric about the d-axis.
 15. A motor drive system comprising: a motor; an inverter for driving the motor; and a motor control device according to claim 1, which controls the motor by controlling the inverter.
 16. A motor drive system comprising: a motor; an inverter for driving the motor; and a motor control device according to claim 5, which controls the motor by controlling the inverter. 